Почему много C/C++ программистов не знают name convention?
От: ManFeel Казахстан  
Дата: 25.04.14 03:08
Оценка:
Часто приходится видеть, что именно среди C/C++ программистов многие не соблюдает name convention. Куда не посмотри на stackoverflow, везде, даже в одном и том же куске кода, какая-то каша. Не только name convention, но и пробелы между = и () и { }. Кто-то использует camel case, кто-то с нижними подчеркиваниями, кто ставит { на одной строке, кто-то с новой. Да, повторяюсь, часто это один человек в одном и том же куске кода.

Например, тут http://stackoverflow.com/questions/2108219/c-raw-sockets-and-64-bit-issue?rq=1 — все подряд понамешано. По какому принципу он ставит { то на одной строке, то на новой? Почему иногда именует переменные как n_var, а иногда nVar ?

И такое я замечаю чаще всего именно для C/C++ кода. примеров масса.
Re: Почему много C/C++ программистов не знают name convention?
От: jazzer Россия Skype: enerjazzer
Дата: 25.04.14 03:23
Оценка: +5
Здравствуйте, ManFeel, Вы писали:

MF>Куда не посмотри на stackoverflow


Ты считаешь, когда кто-то пишет пример кода в браузере, он заморачивается стилистикой кода?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Почему много C/C++ программистов не знают name convention?
От: qqqqq  
Дата: 25.04.14 04:43
Оценка:
Палочки должны быть попиндикулярны! (c)
Re: Почему много C/C++ программистов не знают name convention?
От: dr. Acula Украина  
Дата: 25.04.14 05:34
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>Часто приходится видеть, что именно среди C/C++ программистов многие не соблюдает name convention. Куда не посмотри на stackoverflow, везде, даже в одном и том же куске кода, какая-то каша. Не только name convention, но и пробелы между = и () и { }. Кто-то использует camel case, кто-то с нижними подчеркиваниями, кто ставит { на одной строке, кто-то с новой. Да, повторяюсь, часто это один человек в одном и том же куске кода.


давай, расскажи, как нужно ставить пробелы в выражении"о=(а);" , обсудим.
Re[2]: Почему много C/C++ программистов не знают name convention?
От: ManFeel Казахстан  
Дата: 25.04.14 06:03
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, ManFeel, Вы писали:


MF>>Куда не посмотри на stackoverflow


J>Ты считаешь, когда кто-то пишет пример кода в браузере, он заморачивается стилистикой кода?

ты не понял. почему программисты на других языках заморачиваются?
Re[3]: Почему много C/C++ программистов не знают name convention?
От: jazzer Россия Skype: enerjazzer
Дата: 25.04.14 06:06
Оценка: :))) :)))
Здравствуйте, ManFeel, Вы писали:

J>>Ты считаешь, когда кто-то пишет пример кода в браузере, он заморачивается стилистикой кода?

MF>ты не понял. почему программисты на других языках заморачиваются?

не замечал.

ЗЫ Когда коту программисту нечем заняться, он себе код лижет.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Почему много C/C++ программистов не знают name convention?
От: Trrrrr  
Дата: 25.04.14 06:30
Оценка: +3
Да ответ простой — очень много разных нейм конвеншинов в разных либах.
Вот начал человек прогать. Открыл книгу по винапи, пишет в одном стиле.
Понадобилась хрень из буста начал писать код в стиле буста.
И вся эта каша в одном проекте. К некоторым с опытом приходит, что писать надо везде в одном стиле независимо от используемых библиотек.
Хотя я на проекте постоянно ругаюсь по поводу кодстайла с людьми которые уже по 10 лет работают но не могут писать код в одном стиле.
Раздражает нереально, а все удивляеются чего это я к кодстайлу все пристаю, код же работает.
Re: Почему много C/C++ программистов не знают name convention?
От: jahr  
Дата: 25.04.14 06:30
Оценка: 6 (1) -1
Здравствуйте, ManFeel

Разный стиль кодирования у одного программиста — почти всегда следствие копипаста из разных мест. Почему копипаст особенно распространен у C++-программистов (или почему Вам так какжется) — не берусь судить.)
Re: Почему много C/C++ программистов не знают name convention?
От: Sinix  
Дата: 25.04.14 07:20
Оценка: +3 -1
Здравствуйте, ManFeel, Вы писали:

MF>Например, тут http://stackoverflow.com/questions/2108219/c-raw-sockets-and-64-bit-issue?rq=1 — все подряд понамешано. По какому принципу он ставит { то на одной строке, то на новой? Почему иногда именует переменные как n_var, а иногда nVar ?


Язык программирования тут ни при чём, проблема в инструментарии.
Например, для c# автоформатирование + проверка на соответствие стилю кодирования в студии присутствует практически из коробки. Плюс, есть общепринятый ещё с c# 1.0 стиль кодирования. Как результат, best practices закрепляются с начала изучения языка, и чтобы изобрести что-то своё, надо осознанно от них отклоняться.

Даже когда код пишется без студии, "красивости" добавляются на автомате. Иначе непривычно выглядит

Напротив, если весь окружающий код — это мешанина из кучи разнородных исходников + блокнот (notepad++/vim/etc — в общем, не полноценная IDE), то привычке оформлять код правильно взяться неоткуда
Re[2]: Почему много C/C++ программистов не знают name convention?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.04.14 08:10
Оценка:
Здравствуйте, jahr, Вы писали:

J>Разный стиль кодирования у одного программиста — почти всегда следствие копипаста из разных мест. Почему копипаст особенно распространен у C++-программистов (или почему Вам так какжется) — не берусь судить.)


Обычно так — что бы заюзать какую то функцию, нужно найти include, lib, скопировать бинарники при необходимости, поприседать с линкером. А на кой ляд это надо ? Вот и берут копируют все подряд откуда угодно.
Re[2]: Почему много C/C++ программистов не знают name convention?
От: Qodomoc Россия  
Дата: 25.04.14 08:45
Оценка: 28 (1) +1
В c# к тому же один компилятор, а не много, как в c/c++, и большинство работает с c# из студии.
И потом большинство примеров для c# написаны MS, соответственно в одном стиле.
А для c/c++ есть разные известные стили (например, google code style).
Re: Почему много C/C++ программистов не знают name convention?
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 25.04.14 10:37
Оценка: +1
Здравствуйте, ManFeel, Вы писали:

MF>Часто приходится видеть, что именно среди C/C++ программистов многие не соблюдает name convention.


Потому что его не существует. В С++ нет такой вещи как naming convention. Каждый прилюбодействет как хочет. Naming conventions и прочие conventions есть у команд разработчиков, у библиотек и тд. Но на уровне языка — ничего подобного нет.
А вот скажем в Go эту проблему решили изначально правильно — там есть утилита для форматирования кода, работающая "из коробки" и единый стандарт оформления кода.
Re[2]: Почему много C/C++ программистов не знают name convention?
От: ManFeel Казахстан  
Дата: 25.04.14 14:01
Оценка:
Здравствуйте, Lazin, Вы писали:

L>Здравствуйте, ManFeel, Вы писали:


MF>>Часто приходится видеть, что именно среди C/C++ программистов многие не соблюдает name convention.


L>Потому что его не существует. В С++ нет такой вещи как naming convention. Каждый прилюбодействет как хочет. Naming conventions и прочие conventions есть у команд разработчиков, у библиотек и тд. Но на уровне языка — ничего подобного нет.


кто сказал, что он существует на уровне языка?
Re: Почему много C/C++ программистов не знают name convention?
От: Artifact  
Дата: 25.04.14 16:50
Оценка:
Здравствуйте, ManFeel, Вы писали:

Потому что они плохие, негодные программисты.

__________________________________
Не ври себе.
Re: Почему много C/C++ программистов не знают name convention?
От: TimurSPB Интернет  
Дата: 25.04.14 17:21
Оценка:
MF>Например, тут http://stackoverflow.com/questions/2108219/c-raw-sockets-and-64-bit-issue?rq=1 — все подряд понамешано. По какому принципу он ставит { то на одной строке, то на новой? Почему иногда именует переменные как n_var, а иногда nVar ?
На stackoverflow часто задают вопросы по куску скопированного и немного поправленного примера. В исходном виде один стиль. Правки делаются другим.
Make flame.politics Great Again!
Re: Почему много C/C++ программистов не знают name convention?
От: andyag  
Дата: 25.04.14 17:31
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>Часто приходится видеть, что именно среди C/C++ программистов многие не соблюдает name convention. Куда не посмотри на stackoverflow, везде, даже в одном и том же куске кода, какая-то каша. Не только name convention, но и пробелы между = и () и { }. Кто-то использует camel case, кто-то с нижними подчеркиваниями, кто ставит { на одной строке, кто-то с новой. Да, повторяюсь, часто это один человек в одном и том же куске кода.


MF>Например, тут http://stackoverflow.com/questions/2108219/c-raw-sockets-and-64-bit-issue?rq=1 — все подряд понамешано. По какому принципу он ставит { то на одной строке, то на новой? Почему иногда именует переменные как n_var, а иногда nVar ?


MF>И такое я замечаю чаще всего именно для C/C++ кода. примеров масса.


Это инерция культуры от всяких доинтернетных времён. Name convention чаще всего существуют и соблюдаются в пределах какой-то одной библиотеки, но когда дело доходит до того, чтобы подключить пару библиотек к своему проекту, получается, что есть свой naming convention, есть naming convention первой библиотеки, есть naming convention второй библиотеки. И это нифига не способствует движению в правильную сторону

Автор поста на SO скорее всего либо просто говнокодер, либо поставил себе задачу за 60 секунд накидать пример для вопроса. Склоняюсь к первому варианту.
Re[2]: Почему много C/C++ программистов не знают name convention?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.04.14 19:58
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Например, для c# автоформатирование + проверка на соответствие стилю кодирования в студии присутствует практически из коробки.


Когда то давно, когда еще даже FW Guidelines не были выпущены, сравнительно несложными административными методами удавалось добиваться неплохого единообразия стиля. Так что инструменты тут не причем.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: Почему много C/C++ программистов не знают name convention?
От: Sinix  
Дата: 28.04.14 05:30
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Например, для c# автоформатирование + проверка на соответствие стилю кодирования в студии присутствует практически из коробки.

AVK>Когда то давно, когда еще даже FW Guidelines не были выпущены, сравнительно несложными административными методами удавалось добиваться неплохого единообразия стиля. Так что инструменты тут не причем.

Это же бубль гум административными методами, тут хоть на мальбогле пиши — нужно соблюдать Ну а когда никакого контроля за кодом нет, то получается то, что у топикстартера.
Re[3]: Почему много C/C++ программистов не знают name convention?
От: Alexey931  
Дата: 28.04.14 05:49
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>ты не понял. почему программисты на других языках заморачиваются?


1. "Экосистема". В C/C++ она исторически плохо прослеживается.

2. "Другие" языки местами навязывают.

Как-то так.
Re[2]: Почему много C/C++ программистов не знают name convention?
От: watchyourinfo Аргентина  
Дата: 28.04.14 06:32
Оценка:
A>Потому что они плохие, негодные программисты.

И они, наверное, делают неправильный код!
Re[4]: Почему много C/C++ программистов не знают name convention?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.04.14 17:59
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Ну а когда никакого контроля за кодом нет


... то надо его вводить. На таком уровне это совсем недорого обходится.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[5]: Почему много C/C++ программистов не знают name convention?
От: Sinix  
Дата: 29.04.14 06:02
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Ну а когда никакого контроля за кодом нет

AVK>... то надо его вводить. На таком уровне это совсем недорого обходится.

По-моему, это из разряда "за всё хорошее и против всего плохого". Мы ведь говорим про вариант "без инструментальной поддержки", так?

В единичных случаях возможно всё что угодно, в общем случае — увы. Далеко не во всех проектах можно ввести нормальный code review. Не, чисто формально можно, но на практике затраты и выигрыш несопоставимы будут. Веб, легаси, аутсорс, проекты "для фана" — там "качество" кода зачастую такое, что чисти-не чисти — не спасёт

Единственный рабочий вариант из тех что я видел и делал — хук на событие коммита с проверкой изменённого файла, типа такого. Всё остальное — разговоры в пользу бедных, т.к. при смене тимлида/команды перестаёт работать на раз-два.
Re[3]: Почему много C/C++ программистов не знают name convention?
От: CreatorCray  
Дата: 29.04.14 06:30
Оценка:
Здравствуйте, Qodomoc, Вы писали:

Q>В c# к тому же один компилятор, а не много, как в c/c++, и большинство работает с c# из студии.

Ну, компилятору то в общем всё равно на стилистику.

Q>А для c/c++ есть разные известные стили (например, google code style).

Большинство из них выросли из персональных предпочтений CTO компании.
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.