Страница 1 из 1

Имя идентификатора

СообщениеДобавлено: 25.11.2008 12:07:20
GAMER
Казалось бы, нет ничего проще в программировани, чем дать имя идентификатору. Свободу автору в этом вопросе никто не ограничивает. Но все, же хотелось бы посоветоваться.
Однозначно используются только дозволеные символы с правил именования идентификаторов.
Расмотрим процедуру, которая буде производить некий поиск в некоторой таблице. При этом, проект пишется на територии проживания людей словянской наружности. :) Там же он и будет использоваться и сопровождаться.
Варианты именования: SearchInTable, Search_In_Table, PoiskVTablice, Poisk_v_Tablice, Poisk_in_table, aaa, awet и так далее.
Какой же выбрать?
1. Однозначно, aaa, awet отпадают, ибо через день сам автор забудет, что это такое.
2. Англоязычный вариант. Здесь есть несколько проблем и плюсов.
Проблемы:
а) Автор и сопровождающие не настолько хорошо знают английский, чтобы все называть по английски (да-да, когда
космические корабли бороздят просторы....);
б) Может быть совпадение, что такое имя уже используется в средстве разработки. Хоть и приоритет есть в локальном использовании, но все же это не кошерно;
Плюсы:
а) Если вдруг нужно будет передать часть кода англоязычному программисту, то он скорее в коде разберется;
б) Английский - международный, так что .... ;

3. Словяноязычный вариант в транслитерации. Здесь есть несколько проблем и плюсов.
Проблемы:
а) словяне тоже общаются на разных языках, так что не все так простою;
б) несловяне вообще не поймут о чем речь;
Плюсы:
а) Легче придумать имя (например всегда меня охватывает ступор, когда нужно назвать поля, в которых будут храниться фамилия, имя, отчество );
б) Если с английским напряг, легче понять, о чем речь.

4. Poisk_in_table.
Минусы:
а) Не кошерно;
Плюсы:
а) Точно в исходниках так до вас никто не назвал;
б) Хватает уровня английского, чтобы понять что это такое.

5. Использовать символ "_".
Чесно говоря, мне как-то не очень нравятся такие названия. А вам?

Вот так, несколько раз испытав муки творчества при именовании идентификаторов, решил посоветоваться с колегами, каким образом поступаете Вы?

Re: Имя идентификатора

СообщениеДобавлено: 25.11.2008 13:54:28
B4rr4cuda
Стараюсь использовать английские идентификаторы. Но не чураюсь и транслитерации.
Если такой идентификатор уже есть - добавляем префикс определяющий логически, к чему относится переменная.
Например юниты uAnalogProtocol и uMagazinProtocol - и схожие переменные uapQuery и umpQuery соответственно.
Наименование юнитов с префиксом u.
Наименование компонентов - трехбуквенный префикс от типа: btnDoSomething:TButton; lsbSomeList:TListBox;
Для полей в таблице - таблица TIP, значит наименование полей TIP_SOMETHING, TIP_SOMETHINGELSE...

Re: Имя идентификатора

СообщениеДобавлено: 25.11.2008 14:05:23
ev
еще тут вроде мелькали префиксы (типа btn и lsb) часто используемые
вот подобная ветка

Re: Имя идентификатора

СообщениеДобавлено: 25.11.2008 22:54:43
GAMER
ev писал(а):еще тут вроде мелькали префиксы (типа btn и lsb) часто используемые
вот подобная ветка

Я бы даже сказал, что текущая ветка дополняет указаную.

Re: Имя идентификатора

СообщениеДобавлено: 26.11.2008 11:51:58
*vmr
ИМХО транслит — зло
обычно если не знаю как правильно будет на английском то иду на http://slovari.yandex.ru и http://translate.google.com

Re: Имя идентификатора

СообщениеДобавлено: 26.11.2008 14:46:24
Vadim
Для меня главное, чтобы как только взглянул на идентификатор, то сразу же, не медля ни секунды, стало понятно о чём идёт речь. А английский или транслит - совершенно без разницы. Если передаю программу в забугор - тут без вариантов только английский. А узбекских, например, программистов русский (транслит) нисколько не напрягает, лишь бы понятно было. :)