Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > как вы подбираете идентификаторы


Автор: setq 23.4.2003, 20:23
какой нотацией вы пользуетесь при описании имён переменных и классов? как вы относитесь к ограничениям, которые накладывает конкретный язык на 1) длину идентификаторов 2) регистр букв 3) наличие специальных символов и т.д.? какой по-вашему процент в читабельность кода привносят удачно подобранные идентификаторы? но главный вопрос - первый.

Автор: dr.ZmeY 23.4.2003, 22:21
Пишу латинскими буквами имя переменной иил класса на русском, если это временная переменная, то это обычно Tmp, если это некий коэффициент, то koef... и т.д.

Автор: Chingachguk 24.4.2003, 09:57
Лично я люблю, чтоб все было максимально ясно и понятно, поэтому тяготею к длиннющим именам переменных, функций и т.п.:

Цитата

...
; Инициализируем массив данных WorkArea, в котором будет хранится информация
; о состоянии программ - заражена / нет
; Определим размер массива
; В одной корневой директории логического диска содержится директорий:
;  LocDirs ^ ( DirsLevel + 1 ) - 1
; ( ------------------------------- ) = DirsPerRootDir
;            LocDirs - 1
; ( Включая директорию корня - плюс 1)
;
        mov  cx,DirsLevel      ; cx = DirsLevel - уровень вложенности
        mov  ax,LocDirs        ; ax = LocDirs - количество директорий
        mov  bx,LocDirs        ; bx = LocDirs - количество директорий
@GetPower:                      ; Возведем в степень
        mul  bx
        loop @GetPower
        dec  ax                ; ax = LocDirs ^ ( DirsLevel + 1 ) - 1
        dec  bx                ; bx = LocDirs - 1
        xor  dx,dx
        div  bx                ; ax = всего директорий в корневой директории,
        mov  DirsPerRootDir,ax  ; включая ее саму
        mov  bx,ExecutableProgs ; bx = Число выполняемых программ в директории
        mul  bx                          ; ax = Число программ в корневом каталоге
        mov  bx,DirsPerDrive    ; bx = Число корневых директорий на диске
        mul  bx                          ; ax = Число программ на 1 диске
        mov  bx,DriveNumber    ; bx = Число логических дисков
        mul  bx                          ; ax = Число программ на всех дисках
        mov  TotalPrograms,ax  ; Запомним число всех программ на всех дисках

Автор: neutrino 24.4.2003, 12:01
В ассемблере я всегда делаю названия переменных и функций как можно короче smile.gif Вот так, это видимо потому, что кроме как коротеньких программ и функций в я.в.у. я нигде его не применяю. Целые программы на нем я не пишу.

Автор: man2002ua 24.4.2003, 16:53
В мелких программках - два-три символа и все константы - в виде чисел smile.gif.
На прошлой работе при дописывании драйвера (добавлял режим скрин-сейвера), мой руков. проекта долго матерился, когда увидел, что нет ни одной символьной константы - я ему потом объяснял, что мне мне их проще в голове хранить, чем тратить время на описание и поотм вспоминать, как же оно звучит biggrin.gif

Автор: Alex101 24.4.2003, 17:05
Сначала пишу сущность, потом конкретизирую, например, количество ответов - AnswerNumber, или answer_number. Константы - большими буквами, например: GRAPHICS_SEGMENT.
Если временная переменная, то сначала tmp_.
Кнопки называю проще - Ok, Cancel, Delete и т.д.

Автор: DENNN 24.4.2003, 17:13
А я сколько не пытался себя заставить пользоваться венгерской нотацией, все равно выходит так, как сказал Alex101. Те функции, смысл которых со временем подзабывается, называю и описываю подробно, а остальное по возможности сокращаю - слишком неудобно читать код, когда имена переменных раздуты а строка вылазит за экран.

Автор: Baa 25.4.2003, 10:13
Пользуюсь венгерской натацией... очень удобно, кстати wink.gif (префексы помогают ориентироваться в огромных программах)
А при обзывании переменных токо логическим смыслом wink.gif
Код

typedef struct tagGameBoard {
 char szGameBoardName[30];
 HWND hGameBoardWindow;
 bool bOnMouseDown;
} GAMEBOARD, *LPGAMEBOARD;

Автор: desyatnik 26.4.2003, 21:35
Если нет большого опыта в венгерской нотации, префиксы быстро начинают путаться. Да и в конце концов - типизация на что? Я предпочитаю Адский подход к именованию - никаких сокращений, между словами - знак подчёркивания, каждое слово - с большой буквы. Набирать немного долго smile.gif, но зато как читается... Например:
Код

typedef struct {
char Game_Board_Name [30];
HWND Game_Board_Window;
bool On_Mouse_Down;
} Game_Board, *Game_Board_P;


Автор: acp 26.4.2003, 22:19
1. Процедуры/функции называю длинными именами, с помошью которых можно понять суть. Причём при объявлении всегда пишу комментарий (небольшой).

Пример из недавнего
Код
function NeedPostProcessing : boolean; forward;

Функции не требуется вызывать часто, поэтому их можно обозвать и "длинно".

2. Переменные. Стараюсь называть кратко, но понятно. Т.к. переменные часто надо писать.
Вот например выше было написано - AnswerNumber. Я бы эту переменную назвал бы AnsCount. Но опять же зависит от случая. Т.е. если переменная какая-то глобальная, то называть её нужно понятнее (и соответственно длинней)

3. Константы - длинные. За редким исключением типа cCRLF. Константы - единственное исключение, для которых пишу префикс "c".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)