forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Именование методов/функций/переменных (http://forum.boolean.name/showthread.php?t=16420)

Randomize 01.03.2012 18:42

Именование методов/функций/переменных
 
Продолжая череду тем о стилях написания кода.

Например есть функция которая совершает некий: "do something action"
Как вы запишете её название?

А ежели это не функция, а переменная?
Или имя класса?

Пожалуйста не разводите срачей. Это чистой воды вкусовщина и каждый пишет как ему нравится.
Опрос открытый!

den 01.03.2012 18:58

Ответ: Именование методов/функций/переменных
 
CamelCase - классы
lowerСase или lower_case_with_underscores - функции и переменные (тут от языка зависит)

Randomize 01.03.2012 19:16

Ответ: Именование методов/функций/переменных
 
Цитата:

Сообщение от Den (Сообщение 221161)
CamelCase - классы
lowerСase или lower_case_with_underscores - функции и переменные (тут от языка зависит)

В каком ЯП как?

den 01.03.2012 19:41

Ответ: Именование методов/функций/переменных
 
CamelCase - классы
функции и переменные:
java - lowerСase (как в стандарте)
python - lower_case_with_underscores (аналогично)
с/с++ - рекомендации в стандарте вроде как нет, так что по настроению =)

baton4ik 01.03.2012 22:49

Ответ: Именование методов/функций/переменных
 
CamelCase - функции и классы (но имена классы обычно начинаются с буквы, показывающей, что это класс - "T" в блитцмаксе, например).
Переменные - lower_case_with_underscores.

moka 01.03.2012 22:55

Ответ: Именование методов/функций/переменных
 
На заметку для всех кто отпишется тут: CamelCase, говорит о капитализации первых букв у каждого слова, и возможно исключая первую букву. camelCase и CamelCase, оба являются одним правилом: CamelCase. В то же время camelBack говорит о том что первая буква - маленькая.

Не завиимо от ЯП, использую всегда CamelCase с заглавной для классов, методов, enum'ов.
Для переменных всегда camelBack. Не использую никаких underscore вообще.

Mr_F_ 01.03.2012 22:56

Ответ: Именование методов/функций/переменных
 
Проголосовал за "doSomethingAction", но после этого вспомнил, что дело не совсем так.
Переменные, приватные/защищенные мемберы, классы - doSomethingAction.
Публичные методы - DoSomethingAction.

Иногда нарушаю это правило, если по-другому смотрится приятней (бывает, буква i и l рядом неприятно слипаются, например).

FireOwl 01.03.2012 23:45

Ответ: Именование методов/функций/переменных
 
В C#/Python писал классы DoSomething, а переменные doSomething, чтоб не путаться.
В Паскале и С/C++ пишу также, иногда do_something (для переменных или функций).

ABTOMAT 01.03.2012 23:46

Ответ: Именование методов/функций/переменных
 
Только doSomeAction.
На работе уже такая прадигма срослась. Отчасти, это связавно с тем, что Zend Framework написан в таком стиле и Magento eCommerce тоже, а мы на них изрядно 3 года налегали.
Хотя раньше делал DoSomeAction.

И функции и переменные именую всегда по одному правилу, чтобы не запутать себя и тех, кто, возможно, будет это читать.
В принципе одно не хуже другого, просто нужно всегда придерживаться одного и того же правила.

Платон Александрович 02.03.2012 05:17

Ответ: Именование методов/функций/переменных
 
Каждое слово с большой буквы, имена всегда осмысленные, в зависимости от сущности (переменная или функция\метод).
Вобщем почти полностью совпадает с этими рекомендациями
ЗЫ
недавно стал юзать пробелы между скобками, очень повышает читабельность кода.
еще симплификацию кода (раньше было нормой очень длинные функции, сейчас стараюсь все делить на маленькие осмысленные inline кусочки)
короче говоря постепенно избавляюсь от тяжелого и ограниченного блиц-бейсик стиля :)

pax 02.03.2012 07:29

Ответ: Именование методов/функций/переменных
 
Приватные переменнеые: _lowerCamelCase
Публичные переменные: lowerCamelCase
Классы/методы: UpperCamelCase

St_AnGer 02.03.2012 09:57

Ответ: Именование методов/функций/переменных
 
последнее время работаю на С++, поэтому в привычку вошло:
cCharacter - классы (начинаю с маленькой "c" лично для себя, что бы не путаться);
widthScreen - переменные классов;
tMass - переменные (начинаю с "t");
doSomeAction - функции.

как то так, на остальных ЯП стараюсь не отходить от этого стиля, чтобы максимально читабелен код был. Вроде из последних людей, кто смотрел код, жалоб на нечитабельность не было :)

FireOwl 02.03.2012 22:53

Ответ: Именование методов/функций/переменных
 
А я префиксами пользуюсь для классификации переменных.
Вроде:
Код:

iplayer, istone - картинки
mbattle, mcalmly - музыка
bgamestate, bstart - флаги

Чтобы не гадать потом не занято ли имя переменной другого типа.

pax 02.03.2012 22:55

Ответ: Именование методов/функций/переменных
 
Цитата:

Сообщение от FireOwl (Сообщение 221326)
А я префиксами пользуюсь для классификации переменных.
Вроде:
Код:

iplayer, istone - картинки
mbattle, mcalmly - музыка
bgamestate, bstart - флаги

Чтобы не гадать потом не занято ли имя переменной другого типа.

лучше playerImage, stoneImage и т.д. на много понятнее ;)

FireOwl 02.03.2012 22:57

Ответ: Именование методов/функций/переменных
 
Может быть, может быть. Но мне лень так длинно писать. Особенно, если переменная часто используется.

Ну и придется вспоминать писал я Image или может Img или Picture или еще как-нибудь. Ставил большую букву или разделял подчеркиванием и т.д.


Часовой пояс GMT +4, время: 01:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot