Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.74.227] |
|
Сообщ.
#1
,
|
|
|
Во многих ЯП допускается разное многообразие оформления идентификаторов. В настоящий момент превалирующими способами можно отметить три:
1) идентификатор_со_знаками_подчеркивания 2) ИдентификаторРазныхНаборовСимволов 3) "Малобуквенный" идентификатор + коментарии Понимаю, субъективно просто адово ... тем не менее, ваш выбор? |
Сообщ.
#2
,
|
|
|
Подстраиваюсь под язык. Сам предпочитаю CamelCase, но в сях могу вполне и на under_score перейти.
|
Сообщ.
#3
,
|
|
|
Скрытый текст Цитата Da$aD @ Подстраиваюсь под язык. Сам предпочитаю CamelCase, но в сях могу вполне и на under_score перейти. пасип |
Сообщ.
#4
,
|
|
|
Как принято в проекте - так и пишу. Сам предпочитаю стиль Qt.
|
Сообщ.
#5
,
|
|
|
мне_нравится_использовать_знак_подчеркивания, но для меня это непринципиальный вопрос, пишу так, как принято в проекте.
|
Сообщ.
#6
,
|
|
|
snake_case
Хотелось бы kebab-case |
Сообщ.
#7
,
|
|
|
Google Code Style for C++ вообще сочетает в себе оба варианта
переменные и поля с_подчёркиваниями, а имена методов (кроме геттеров_и_сеттеров) - ВПаскальКейсе. но я не уверен, что мне это нравится хотя по факту мне не принципиально как писать если бы я выбирал - писал бы всё как в Java/Qt. |
Сообщ.
#8
,
|
|
|
1С голосует за СтрочныеИПрописныеБуквы.
|
Сообщ.
#9
,
|
|
|
Для классов РазнаяВысота
Для переменных_подчеркивание Но опять же, да зависит от языка На пыхе как описано выше На Qt первый вариант |
Сообщ.
#10
,
|
|
|
Цитата Алексей_Л @ Google Code Style for C++ Крайне сомнительный документик. |
Сообщ.
#11
,
|
|
|
Только второй вариант. Недолюбливаю подчеркивания (и их приверженцев)
|
Сообщ.
#12
,
|
|
|
Кстати да. Давно хотел сесть и решить для себя, что мне нравится.
А то использую всё подряд вперемешку. Хотя нет, в последнее время чаще был CamelCase. Только что-то аргументов в теме пока нет... Вот глянул википедию: Цитата По результатам по крайней мере одного исследования, читатели гораздо быстрее воспринимают информацию, написанную в snake_case, чем написанную в CamelCase. По моим наблюдениям, проблема проявляется в случае когда первое слово заканчивается на "высокие" символы. Например ScrollItems. Всё-таки Scroll_Items читабельней. Но с другой стороны, ИМХО, есть что-то отталкивающее в подчёркиваниях. Только не могу уловить что. Разумных доводов нет... Цитата B.V. @ А за что? Недолюбливаю подчеркивания |
Сообщ.
#13
,
|
|
|
Цитата SV() @ Цитата B.V. @ А за что?Недолюбливаю подчеркивания Скорее всего, из-за тяжёлого вендового детства. |
Сообщ.
#14
,
|
|
|
Цитата B.V. @ Недолюбливаю подчеркивания (и их приверженцев) Можно подробнее? |
Сообщ.
#15
,
|
|
|
константы так: CONST_VALUE
все остальное преимущественно CamelCase |
Сообщ.
#16
,
|
|
|
Цитата SV() @ А за что? За неэстетический вид кода. Всплывают ассоциации автомобиля, сваренного из арматуры, где из каждого прибора на панели торчит болт или шестеренка. Цитата D_KEY @ Можно подробнее? Моя практика показывает, любители подчеркиваний оказываются любителями линукса и командной строки. У них свое, особое видение эстетики кода. |
Сообщ.
#17
,
|
|
|
Цитата B.V. @ Моя практика показывает, любители подчеркиваний оказываются любителями линукса и командной строки. У них свое, особое видение эстетики кода. Скорее всего дело не в подчеркивании. Исторически все исполняемые файлы *nix'ов (а раньше вообще все) принято было писать, используя только нижний регистр. Хотя никто не мешал использовать и смешанный. Поэтому файлы часто именовались по варианту №1. Возможно именно это явилось причиной выбора и при кодировании варианта №1. Лично я стараюсь использовать по возможности №3 вариант, либо №2. Личная практика показала, что локальные переменные выгодно объявить по возможности 1-м символом, максимум - 2 и обязательно дать расшифровку комментарием. Потом быстрее и короче код в выражениях и понятность выше. Естественно, если количество переменных в функции/методе зашкаливает (для меня порог 16-20) - значит код требует переработки. Во всех остальных случаях (исключая константы и макросы) - использую №2. Это глобальные переменные, структуры, классы, методы ... ЗЫ: Не люблю мелкомягкий подход привнесения информации о типах в имя переменной в виде префикса. |
Сообщ.
#18
,
|
|
|
ЯПишуВсеСлитноОченьЭстетичноВыглядитАга)
|
Сообщ.
#19
,
|
|
|
Цитата Kray74 @ ЯПишуВсеСлитноОченьЭстетичноВыглядитАга) Осталось добавить: return WBR::__Zurab__Tsereteli__ << 2; |
Сообщ.
#20
,
|
|
|
Кстати, а кто как файлы именует? Лично я если сам код ПишуТак, то называния файлам даю_такие.
|
Сообщ.
#21
,
Сообщение отклонено: B.V. -
|
Сообщ.
#22
,
|
|
|
Цитата B.V. @ Моя практика показывает, любители подчеркиваний оказываются любителями линукса и командной строки. Так это же хорошо Цитата У них свое, особое видение эстетики кода. Поясни, пожалуйста. |
Сообщ.
#23
,
|
|
|
вспомнилось: http://habrahabr.ru/company/yandex/blog/210638/
|
Сообщ.
#24
,
|
|
|
Неужто бот сподобился на пост со смыслом? Глазам не верю. Делает успехи, скоро тест Тьюринга наполовину сумеет пройти.
|
Сообщ.
#25
,
|
|
|
Цитата Qraizer @ Да, несмотря на общность его утверждения, сюда оно весьма кстати попало. Неужто бот сподобился на пост со смыслом? Глазам не верю. |
Сообщ.
#26
,
|
|
|
Цитата Qraizer @ Неужто бот сподобился на пост со смыслом? Глазам не верю. Делает успехи, скоро тест Тьюринга наполовину сумеет пройти. Цитата Славян @ Да, несмотря на общность его утверждения, сюда оно весьма кстати попало. Игра случая Скрытый текст |
Сообщ.
#27
,
|
|
|
Обычно при именовании методов/функций/классов использую Верблю́жийРеги́стр, но иногда могу в начале сделать подчеркивание, дабы подчеркнуть - что это именно метод класса, а не какая то там локальная или глобальная переменная.
Пробовал писать с нижними подчеркиваниями - код получается вырвиглазный. |
Сообщ.
#28
,
|
|
|
Цитата KILLER @ Кто-то где-то вечно советует не делать свои подчёркивания первыми - a'la резерв за языком или что-то вроде того. иногда могу в начале сделать подчеркивание |
Сообщ.
#29
,
|
|
|
Цитата KILLER @ Верблю́жийРеги́стр но иногда могу в начале сделать подчеркивание Не надо так Цитата 17.6.4.3.2 Global names [global.names] Certain sets of names and function signatures are always reserved to the implementation: Each name that contains a double underscore __ or begins with an underscore followed by an uppercase letter (2.12) is reserved to the implementation for any use. Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace Цитата Any other predefined macro names shall begin with a leading underscore followed by an uppercase letter or a second underscore |
Сообщ.
#30
,
|
|
|
Ну после подчеркивания я обычно маленькую букву пишу. Просто я целый год на явошарпах писал, а там как раз, по крайней мере у нас было принято члены класа начинать с подчеркивания. А так обычно в плюсах всегда члены класа начинал с m_членКласса. Это уже в последнее время что то поперло у меня по привычке после шарпа писать просто подчеркивание. Но да, надо отучаться.
|
Сообщ.
#31
,
|
|
|
Цитата Славян @ Кто-то где-то вечно советует не делать свои подчёркивания первыми - a'la резерв за языком или что-то вроде того. А у нас есть один разработчик, который всё время в переменных первое подчеркивание ставит (а главное в названиях своих объектов, в результате чего они всё время в списке в начале стоят). Я раньше думал что он тупо выпендривается, а теперь понял, что это он язык резервирует... Добавлено Цитата OpenGL @ то называния файлам даю_такие. Кстати, забавно, я тоже. Хотя переменные во время разработки называю только CamelCase. Хотя в хранимых процедурах и скриптах Питона - через подчеркивание. И ведь даже сам не задумываюсь - где что... Странная какая-то у меня перверсия. Ну просто я одновременно на четырёх языках программы пишу - и у меня мозг как-то сам автоматически разделяет где как называть. |
Сообщ.
#32
,
|
|
|
Цитата Dark_Sup @ А что за список? а главное в названиях своих объектов, в результате чего они всё время в списке в начале стоят |
Сообщ.
#33
,
|
|
|
Цитата D_KEY @ Each name that contains a double underscore __ or begins with an underscore followed by an uppercase letter (2.12) is reserved to the implementation for any use. А можно пример более-менее реального случая, когда это помешает? Не то, что я собираюсь писать, начиная с подчёркивания - предпочитаю mЧтоТоТам - просто интересно |
Сообщ.
#34
,
|
|
|
_Bool, появившийся в C99.
|
Сообщ.
#35
,
|
|
|
Ну мне вряд-ли придёт в голову так назвать переменную.
И это же reserved to the implementation, а значит там будут скорей какие-то компиляторозависимые фичи, а-ля __int64. И как мне кажется, вероятность пересечения пользовательских идентификаторов с такими достаточно низка. |
Сообщ.
#36
,
|
|
|
Если её можно свести к нулю, зачем пренебрегать-то?
|
Сообщ.
#37
,
|
|
|
Цитата MyNameIsIgor @ Хотелось бы kebab-case переходи-на-лисп =) И наш мини-холивар по поводу скобочек разрешится сам собой. =) |
Сообщ.
#38
,
|
|
|
В php принят PSR де-факто, так что lowerCamelCase для полей, переменных и методов, CamelCase для классов, under_score для глобальных функций и CAMEL_CASE для констант. Да и в JS\ES5\ES6 ситуация примерно аналогичная, только там ещё _lowerCamelCase для приватных полей\свойств\методов принят.
Добавлено Цитата OpenGL @ Кстати, а кто как файлы именует? Лично я если сам код ПишуТак, то называния файлам даю_такие. По PSR-0 и PSR-4 стандартам файлы можно именовать точно так же, как имя класса, находящегося внутри. Внутри одного файла может находиться только один класс. На файлы с исходниками, реализующие глобальные функции-хелперы или какие-либо побочные эффекты подобное правило не распространяется. Добавлено В случае JS именую так же, как именуется дефолтный экспортный класс внутри. Добавлено Цитата B.V. @ Только второй вариант. Недолюбливаю подчеркивания (и их приверженцев) С помощью подчёркиваний проще реализовывать метапрограммирование (например реализация мутаторов и акссесоров, особенно у каких-нибудь ActiveRecord моделей намного проще через some_field => get_some_field, нежели через some_field => getSomeField), плюс не стоит забывать про БД, у некоторых из которых имена целлов регистронезависимы. Хотя я согласен, мне тоже больше нравится lowerCamelCase |
Сообщ.
#39
,
|
|
|
Цитата Serafim @ snakeCase Вот snake_case. А это lowerCamelCase. |
Сообщ.
#40
,
|
|
|
MyNameIsIgor, спасибо, поправил
|