«Длинное описательное имя лучше, чем короткое загадочное имя. Длинное описательное имя лучше, чем длинный описательный комментарий ». Роберт С. Мартин

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

Чистый код - это набор принципов, которые стремятся к тому, чтобы код был:

  • Удобочитаемый
  • Ремонтопригодный
  • Расширяемый

Совершенно важно придерживаться некоторых хороших принципов при написании кода, поскольку мы обычно имеем плохую привычку называть переменные, например, a или b. … Что они означают? Вы, вероятно, будете помнить их во время работы, но что, если вы вернетесь через пару дней, вы их вспомните?

Философия Python направлена ​​на создание кода «Pythonic». Один из его разработчиков Тим Петерс написал Python Zen, который представляет собой набор принципов того, как мы должны писать код.

Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем сложное.
Плоское лучше, чем вложенное.
Лучше разреженное, чем плотное.
Важна удобочитаемость.
Особых случаев недостаточно, чтобы нарушать правила.
Хотя практичность важнее чистоты.
Ошибки никогда не должны проходить незаметно.
Если явно не заставить замолчать.
Перед лицом двусмысленности не поддавайтесь искушению угадать.
Должен быть один - а желательно только один - очевидный способ сделать это.
Хотя такой способ может быть поначалу не будет очевидным, если вы не голландец.
Сейчас лучше, чем никогда.
Хотя никогда не бывает лучше, чем * прямо * сейчас.
Если реализацию трудно объяснить, это плохая идея.
Если реализацию легко объяснить, это может быть хорошей идеей.
Пространства имен - отличная идея - давайте сделаем их больше!

Мне нравится замысел этого дзен и особенно его принципы:

  • Красивое лучше уродливого
  • Простое лучше сложного

Мы должны думать просто: если функциональность не требует больших усилий, тогда зачем мы это делаем? не всегда что-то простое является решением, но если это возможно, не усложняйте его.

PEP8 - это предложение для руководства по стилю кода Python, оно не является обязательным, но упрощает написание лучшего кода, улучшая читаемость и качество.

СУХОЙ (не повторяйся)

Этот принцип продвигает то, что код, который мы создаем, должен быть уникальным, избегая или уменьшая дублирование кода. Идея этого принципа состоит в том, чтобы иметь возможность разделить код на небольшие части, которые мы можем использовать повторно.

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

Поцелуй (будь простым глупым)

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

Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям. - Мартин Фаулер

Чего мы ждем?

  • Избегайте дублирования простого кода.
  • Сделайте это информативным.
  • Код качества.

Что мы можем сделать?

Чтобы написать код Pythonic, мы должны знать функции, предоставляемые правильным языком, функции, которые позволяют нам легко понять и улучшить читаемость. Методы Dunder, менеджеры контекста и декораторы - вот некоторые из функций, которые мы можем использовать для этого.

Декораторы

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

Менеджеры контекста

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

Методы Дандера

Методы Дунера или Магические методы помогают нам лучше писать наш код, обогащая классы, чтобы код оставался простым и понятным, но с более высокой функциональностью.

Выводы

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

Помните, что писать чистый код - это не для нас, это для нашего будущего и для тех, с кем мы работаем.