Про код-стандарты и всякие именования

Код должен быть оформлен как минимум одинаково. Лучше — красиво, но как минимум одинаково. Но хочется красиво. Но проблема в том что “красиво” у всех своё и это немного проблема. Понапишу про то что я считаю красивым.

1. Табы или пробелы?

Википедия нам сообщает следущее:

Горизонтальная табуляция (HT, TAB) — управляющий символ таблицы ASCII с кодом 0916, используется для выравнивания текста в строках. Встретив этот символ, терминал перемещает каретку (или курсор) вправо на ближайшую позицию табуляции. Традиционно эти позиции располагаются каждые 8 знакомест, в колонках 1, 9, 17, 25… Вводится при помощи клавиши Tab ↹, во многих языках программирования обозначается как \t.

По непонятной мне причине я пока не встречал по работе людей которым нравятся табы. Всем нравятся пробелы потому что у всех выглядит всё одинаково. Я не совсем понимаю почему преобладают идиоты которые не могут осознать что “одинаково” != “удобно”.

Желаю всем любителям пробелов умереть в агонии.

2. CamelCase или Snake_Case?

По непонятной мне причине в мире восторжествовал CamelCase. Печалька. Я люблю Snake_Case. Возможно, дело в том, что я люблю всё что не мейнстрим?

3. Именование переменных

Несмотря на то что я пишу на пхп и прочем мусоре с динамической типизацией, я полюбил венгерскую нотацию (вы не поверите, но она тоже не мейнстрим):

a_var -- array
b_var -- bool
i_var -- int
f_var -- float
s_var -- string
o_var -- object
f_var -- function (lambda)

Помимо базовых типов, можно по ходу дополнять всяким своим, к примеру я пишу m_var и наивно полагаю что там лежит модель.

Главное удобство не в том, что я знаю какой тип (с динамической типизацией там может быть что угодно), а в том что я избавился от главной проблемы — именования! Сравните вот:

ids = array();
id = 12;

pet_name = 'MALAMUTE';
pet_model = get_model(pet_name);
is_pet_model_loaded = (bool)pet_model;

И что-нибудь типа такого:

a_id = array();
i_id = 12;

s_pet = 'MALAMUTE';
m_pet = get_model(s_pet);
b_m_pet_loaded = (bool)pet_model;

Я готов принимать любые аргументы по данному вопросу (например, что это неудобно, глупо и по-идиотски), но у меня есть ровно 1 контраргумент: я никогда, никогда, никогда, никогда, никогда не должен буду больше писать это идиотское ids, потому что если у меня написано a_id, то это значит что это массив. Массив — это всегда много. Мне не нужно писать это идиотское ids. Вам просто не передать как же я сильно ненавижу это ids.

2015.04.27 09:30