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

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

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

Сообщение GAMER » 25.11.2008 12:07:20

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

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

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

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

Вот так, несколько раз испытав муки творчества при именовании идентификаторов, решил посоветоваться с колегами, каким образом поступаете Вы?
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

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

Сообщение B4rr4cuda » 25.11.2008 13:54:28

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

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

Сообщение ev » 25.11.2008 14:05:23

еще тут вроде мелькали префиксы (типа btn и lsb) часто используемые
вот подобная ветка
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

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

Сообщение GAMER » 25.11.2008 22:54:43

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

Я бы даже сказал, что текущая ветка дополняет указаную.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

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

Сообщение *vmr » 26.11.2008 11:51:58

ИМХО транслит — зло
обычно если не знаю как правильно будет на английском то иду на http://slovari.yandex.ru и http://translate.google.com
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

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

Сообщение Vadim » 26.11.2008 14:46:24

Для меня главное, чтобы как только взглянул на идентификатор, то сразу же, не медля ни секунды, стало понятно о чём идёт речь. А английский или транслит - совершенно без разницы. Если передаю программу в забугор - тут без вариантов только английский. А узбекских, например, программистов русский (транслит) нисколько не напрягает, лишь бы понятно было. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

Рейтинг@Mail.ru