July 9, 2018

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