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