Найти в Дзене
Python-ист

Как писать код на Python понятно и красиво.

Я собрал для вас немного советов, придерживаясь которых ваш код станет понятным другим и будет красивым. Не думаю, что кто-то серьёзно отнесётся к прочтению этой статьи, но возможно если на статью наткнётся какой-нибудь новичок, то ему будет полезно в нескольких словах понять как писать чистый код. Но если моё детище увидит человек с огромными познаниями, и будет с чем-то не согласен, то открываю вам путь в комментарии. Самое казалось-бы очевидное, но не всегда всеми соблюдаемое. Давайте вашим переменным понятные названия, например, если переменная содержит имя пользователя, не называйте её "a" или "b", назовите "username". Также не стоит давать переменным зарезервированные имена, "sum", "list", "int","ord" и другие. Константы - это неизменяемые переменные в вашем коде, то называйте их заглавными буквами (MAX_SPEED например для максимальной скорости персонажа в игре), чтобы другие разработчики понимали, что эти значения изменять не стоит. Название классов пишите с большой буквы, вмест
Оглавление

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

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

Совет №1. Правильные наименования.

Самое казалось-бы очевидное, но не всегда всеми соблюдаемое.

Давайте вашим переменным понятные названия, например, если переменная содержит имя пользователя, не называйте её "a" или "b", назовите "username".

Также не стоит давать переменным зарезервированные имена, "sum", "list", "int","ord" и другие.

Константы - это неизменяемые переменные в вашем коде, то называйте их заглавными буквами (MAX_SPEED например для максимальной скорости персонажа в игре), чтобы другие разработчики понимали, что эти значения изменять не стоит.

Название классов пишите с большой буквы, вместо класса "person" пишите "Person".

Совет №2. Комментарии.

Комментарии надо оставлять там, где вы создаёте какую-то логику, понятную только вам или не всем очевидную.

Вернусь к переменной "username":

-2

Этот комментарий бесполезен. Зачем вы давали переменной понятное имя?

Как же правильно?

-3

Теперь понятно и то что это имя пользователя, и то, на какой платформе.

Совет №3. Типизация.

С этим наверное сталкивался не каждый начинающий питонист. Давайте рассмотрим базовые типы данных в Python:

  1. str - символьные строки
  2. int - целые числа
  3. float - число с плавающей точкой (десятичные дроби)
  4. complex - комплексные числа
  5. bool - булевые значения (True/False)
  6. list - список
  7. dict - словарь
  8. tuple - кортеж
  9. set - множество
  10. frozenset - неизменяемое множество
  11. bytes - байтовые последовательности
  12. bytearray - изменяемые байты

Вот основные типы данных в Python. Конечно, их может быть больше, если добавлять специализированные библиотеки такие как: collections, typing и другие. Вы спросите: "как же работает эта типизация?" . А всё на самом деле просто. Представим обычную функцию Python:

-4

Тут всё понятно, она возвращает сумму 3х чисел, но каких? Целых чисел? Дробных? Комплексных? Не понятно. Вот как раз для того, чтобы вносить нужную ясность в код существует аннотация типов в Python. Рассмотрим теперь всю ту же функцию, но теперь мы будем знать, какие именно числа нужно вводить в функцию:

-5

Выглядит непонятно, давайте обьясню:

  • a: int|float - указываем что, агрумент a должен быть целым числом или десятичной дробью.
  • ...) -> int|float: - указываем что функция возвращает целое число или десятичную дробь.

Совет №4. Отступы и пробелы.

  • Делай пробелы после запятых.
  • Отступы должны быть в 4 пробела.
  • Делай пробелы вокруг знаков.
  • Если передаёшь аргументы пробелы не ставь.
  • Если пишешь типизацию, пробелы ставь.
  • "if" в одну строку не пиши.

Совет №5. Остальное по мелочи.

  • Импорт разных модулей на разных строках.
  • Пустая строка между функциями и классами.
  • Две пустые строки между импортом модулей и основным кодом.

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

#питон

#типизация

#чистый код

#дляначинающих