Python. Антигайд
Материал для группы SnakeBlog
Дисклеймер
Я хотел написать руководство по тому, как надо писать код, но потом понял, что это скучно и поэтому я напишу инструкцию, как его не надо писать. Если вы найдёте себя в этих строках, то, скорее всего, вы что-то делаете не так.
Переменные
"Краткость сестра таланта" - так говорили великие. А чем вы хуже? Правильно, пары букв на имя переменной вполне достаточно. А что? Зато хакеры, даже если получат ваш код, то вряд ли смогут его понять и взломать.
class Vscn: # Очевидно же, что всё это значит? def sm(amn1, amn2): return amn1 + amn2
Ах да, программирование - ещё и творческий процесс, поэтому коллеги оценят, если вы поиграетесь с регистром.
class vScN: # Красиво, не так ли? def sM(aMn1, AmN2): return aMn1 + AmN2
И ещё ни в коем случае не выделяйте неизменяемые переменные капсом. Это же неприлично. Да и что за дискриминация такая?
Отступы
Мы же понимаем, что вы особенный. Давайте покажем это 3 пробелами в отступах вместо 4. У коллег в IDE всё поедет? Да кого это волнует, если так мы подчёркиваем свою индивидуальность. Между функциями, методами, классами не пропускайте строчек - лишняя трата памяти на жёстком диске.
Импорты
Скажите же, правда надоело видеть все импорты в начале файла? Скучно ведь. Давайте делать импорт посреди кода, там, где он понадобится. Ах да, мы же можем переименовывать модули. Почаще делайте что-то вроде
import django as unchained
Все любят юмор, а особенно там, где его не ожидаешь. Круто же теперь писать unchained вместо django.
Функции
Все советуют выделять повторяющийся код в функции. Тоже считаете, что они просто не умеют использовать Ctrl C + Ctrl V? А в функции выделяем только то, что вам будет по душе. Слышали же про функциональное программирование? Так давайте применять его вот так:
def add(a, b): return a + b add(add(add(a, b), c), d) # Вместо a + b + c + d
Прямо чувствуется инновационность этого подхода. Знаете, что функциональный код легче тестировать или можно не тестировать вообще? Так вот, раз мы используем такой подход и никогда не делаем ошибок, то и тесты писать не надо - лишняя трата времени и сил.
Заключение
Надеюсь, вы оценили такой формат статьи и сделали для себя правильные выводы. А я с вами прощаюсь.
До новых встреч в группе SnakeBlog