![]() |
Именование методов/функций/переменных
Продолжая череду тем о стилях написания кода.
Например есть функция которая совершает некий: "do something action" Как вы запишете её название? А ежели это не функция, а переменная? Или имя класса? Пожалуйста не разводите срачей. Это чистой воды вкусовщина и каждый пишет как ему нравится. Опрос открытый! |
Ответ: Именование методов/функций/переменных
CamelCase - классы
lowerСase или lower_case_with_underscores - функции и переменные (тут от языка зависит) |
Ответ: Именование методов/функций/переменных
Цитата:
|
Ответ: Именование методов/функций/переменных
CamelCase - классы
функции и переменные: java - lowerСase (как в стандарте) python - lower_case_with_underscores (аналогично) с/с++ - рекомендации в стандарте вроде как нет, так что по настроению =) |
Ответ: Именование методов/функций/переменных
CamelCase - функции и классы (но имена классы обычно начинаются с буквы, показывающей, что это класс - "T" в блитцмаксе, например).
Переменные - lower_case_with_underscores. |
Ответ: Именование методов/функций/переменных
На заметку для всех кто отпишется тут: CamelCase, говорит о капитализации первых букв у каждого слова, и возможно исключая первую букву. camelCase и CamelCase, оба являются одним правилом: CamelCase. В то же время camelBack говорит о том что первая буква - маленькая.
Не завиимо от ЯП, использую всегда CamelCase с заглавной для классов, методов, enum'ов. Для переменных всегда camelBack. Не использую никаких underscore вообще. |
Ответ: Именование методов/функций/переменных
Проголосовал за "doSomethingAction", но после этого вспомнил, что дело не совсем так.
Переменные, приватные/защищенные мемберы, классы - doSomethingAction. Публичные методы - DoSomethingAction. Иногда нарушаю это правило, если по-другому смотрится приятней (бывает, буква i и l рядом неприятно слипаются, например). |
Ответ: Именование методов/функций/переменных
В C#/Python писал классы DoSomething, а переменные doSomething, чтоб не путаться.
В Паскале и С/C++ пишу также, иногда do_something (для переменных или функций). |
Ответ: Именование методов/функций/переменных
Только doSomeAction.
На работе уже такая прадигма срослась. Отчасти, это связавно с тем, что Zend Framework написан в таком стиле и Magento eCommerce тоже, а мы на них изрядно 3 года налегали. Хотя раньше делал DoSomeAction. И функции и переменные именую всегда по одному правилу, чтобы не запутать себя и тех, кто, возможно, будет это читать. В принципе одно не хуже другого, просто нужно всегда придерживаться одного и того же правила. |
Ответ: Именование методов/функций/переменных
Каждое слово с большой буквы, имена всегда осмысленные, в зависимости от сущности (переменная или функция\метод).
Вобщем почти полностью совпадает с этими рекомендациями ЗЫ недавно стал юзать пробелы между скобками, очень повышает читабельность кода. еще симплификацию кода (раньше было нормой очень длинные функции, сейчас стараюсь все делить на маленькие осмысленные inline кусочки) короче говоря постепенно избавляюсь от тяжелого и ограниченного блиц-бейсик стиля :) |
Ответ: Именование методов/функций/переменных
Приватные переменнеые: _lowerCamelCase
Публичные переменные: lowerCamelCase Классы/методы: UpperCamelCase |
Ответ: Именование методов/функций/переменных
последнее время работаю на С++, поэтому в привычку вошло:
cCharacter - классы (начинаю с маленькой "c" лично для себя, что бы не путаться); widthScreen - переменные классов; tMass - переменные (начинаю с "t"); doSomeAction - функции. |
Ответ: Именование методов/функций/переменных
А я префиксами пользуюсь для классификации переменных.
Вроде: Код:
iplayer, istone - картинки |
Ответ: Именование методов/функций/переменных
Цитата:
|
Ответ: Именование методов/функций/переменных
Может быть, может быть. Но мне лень так длинно писать. Особенно, если переменная часто используется.
Ну и придется вспоминать писал я Image или может Img или Picture или еще как-нибудь. Ставил большую букву или разделял подчеркиванием и т.д. |
Ответ: Именование методов/функций/переменных
А зачем помнить если придерживаться выбранных правил? Но это уже оффтоп)
|
Ответ: Именование методов/функций/переменных
|
Ответ: Именование методов/функций/переменных
Apple выпустили новый продукт: iStone!
|
Ответ: Именование методов/функций/переменных
Цитата:
|
Ответ: Именование методов/функций/переменных
Установил уже давно. Но моя система мне нравится больше. Код выглядит аккуратнее.
|
Ответ: Именование методов/функций/переменных
Цитата:
|
Ответ: Именование методов/функций/переменных
Интеджер - тип. Он и так будет прописан в том месте где переменная инициализируется. А префиксы обозначают смысловое разбиение переменных. Переменные типа integer могут играть совершенно разные роли в моем коде.
Код:
int xplayer, yplayer, cmain, c; // (x,y) - coordinates, c - counters |
Ответ: Именование методов/функций/переменных
в c++/Objective-C++ для хранения идентификаторов изображений iXors3D использую префиксы img, например imgAbout, imgWeapon.
Для звуков snd, sndHit, sndExplosion Указатели на массивы обычно начинаю с ar, arUnits Атласы - atls, atlsData Классы по привычке с BlitzMAX'а начинаются с T, TUnit, TMap. Методы DoSmfAction поля, переменные - верблюжьей. |
Ответ: Именование методов/функций/переменных
Для своих игр в юнити выработал специальную структуру - папка с моими ресурсами - Data, в ней папки Scripts, Objects, Models, Sounds, Scenes, Shaders, Textures и т.п., каждый ресурс с префиксом - scene_ для сцен, snd_ для звуков, mdl_ - модели, txt_ - текстуры и т.п.
В коде использую те же префиксы, но иногда с различиями. Функции все начинаю с большой буквы без пробелов между словами, каждое новое слово - с большой буквы. В коде GUI использую gui_ для хранения изображений интерфейса. С такой системой намного проще разрабатывать и использовать старые наработки. Некоторые скрипты кочуют с минимальными изменениями из проекта в проект. |
Ответ: Именование методов/функций/переменных
Randomize, ну что, определился?
|
Ответ: Именование методов/функций/переменных
В Java:
Class.doSomethingAction(somethingParameter); В PHP: Class::doSomethingAction($something_parameter); Но с переменными в PHP не всегда так. Чаще всего если это поля класса, то синтаксис как в Java. А если локальные переменные, то разделяю "_". Но классы, методы и функции имяную всегда одинаково. Когда-то может переучусь вообще использовать "_". Потому что года три назад вообще чёрте что в коде у меня было. |
Ответ: Именование методов/функций/переменных
В блице для типов TTypeName.
В остальных для классов CClassName. Для переменных: константы: CONST_NAME = 1 "обычные" переменные: varNameHere для булевых: bBoolVar для картинок обычно: imgHealthBar для массивов: иногда masImages, иногда просто множественное число: values Для функций и методов прижился префикс fn: fnGetValue(). Стараюсь "группировать" функции так, что сначала идёт смысловое слово, к которому относится функция: fnUserSetName(), fnUserGetValue(). |
Ответ: Именование методов/функций/переменных
А зачем после T ещё и Type добавлять? Аналогично с C и Class..
fn - это имхо лишнее, учитывая что ты заглавные в начале нигде не юзаешь, получается коллизий не будет, можно смело избавляться от fn. |
Ответ: Именование методов/функций/переменных
Цитата:
Цитата:
|
Ответ: Именование методов/функций/переменных
Кстати интересный вопрос про константы.
Я вот всегда объявляю их так: SOME_CONSTANT_NAME |
Ответ: Именование методов/функций/переменных
Цитата:
DoSomeAction( args ) Класс: SomeClassName Метод класса вне зависимости от видимости: doSomeClassAction( args ) Поле класса вне зависимости от видимости: someClassField1 Константа: SOME_INTEGER_CONSTANT = 100500 На счёт префиксов всё как и у джокера: Изображение imgSomePlayer imgSomeBox Entity entCamera entCamPivot Mesh mshBox mshTube Vector/List: vectMyCollection lstMyCollection |
Ответ: Именование методов/функций/переменных
Цитата:
коллизии при мелких начальных буквах быть могут - в джаве именно с маленькой "стандартные" функции (джаву я использую, не просто теоретически предполагаю). однажды я разбирался в исходнике, в котором чел классы именовал с префиксом Ni - NiGame и т.п. :) |
Ответ: Именование методов/функций/переменных
Цитата:
|
Ответ: Именование методов/функций/переменных
Тем более кто-кто, так Java и C#, очень чётко повязаны на пространствах имён. В Java вообще инклудят по одному классу.
|
Ответ: Именование методов/функций/переменных
Цитата:
myObject->doSomeClassAction( args ); // myObject и так уже класса SomeClass когда можно было myObject->doAction( args ); В остальном согласен |
Ответ: Именование методов/функций/переменных
Цитата:
|
Часовой пояс GMT +4, время: 07:35. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot