Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Всё что касается Python
Ответить
Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 18 апр 2020, 22:09

Тут
Ниже - основные правила из видео :-):

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 18 апр 2020, 22:20

Имена переменных.
Имена переменных должны отражать их суть, смысл, для чего она предназначена, что будет в себе содержать. Желательно (а лучше обязательно, сразу привыкать) на английском. Правильно названная переменная - не требует комментария и "читается" по всей программе, не имеет цифр (в очень редких случаях, когда цифры есть в названии объекта которому присваивается переменная - например протокол RS485)

Задача.
Есть некий магазин в котором продаются яблоки-5шт, груши-4шт, бананы-3шт. Задача посчитать общее количество яблок, груш, бананов.
Неправильное объявление переменных:

Код: Выделить всё

x = 5 //яблоки
y = 4 //груши
z = 3 //бананы
x1 = 0 //сумма
Правильное объявление переменных:

Код: Выделить всё

apples = 5 
pears = 4 
bananas = 3 
sum = 0 
Не думайте, что придется писать больше символов в названии переменной и это увеличит время написания кода, все современные редакторы поддерживают автоввод. Комментарии тоже можно оставить, хуже не будет). Сокращать имена переменных (пропускать гласные и пр.) не надо. Код из кучи сокращенных имен переменных очень плохо читается, так как в последствии держишь код голове и "расшифровка" переменных сбивает и занимает очень много времени.

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 18 апр 2020, 23:27

Умный, хитрый код. Комментарии
Те строчки (функции) кода, которые вызвали у Вас сложности при написании программы от 10 мин и более - ЗАКОММЕНТИРУЙТЕ вдоль и поперек). Пройдет время, будете разбираться со своим же кодом, встанете на этих строчках, возможно и более 10 мин. Если кокой-то код требует большого количества комментария, то выделите его в метод с названием комментария.
Если начинающий - комментируй каждую строку, так как вы начинающий, все операторы и синтаксис сразу выучить невозможно.

Про комментарии

Не пытайтесь усложнить код, по возможности используйте стандартные, часто используемые операторы, функции, библиотеки и пр.

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 19 апр 2020, 00:20

Функции, методы
Имена функций/методов должны отражать их суть, смысл, для чего она предназначена, для какого действия (глагол). Имена функций/методов должны отвечать на вопрос - "что делает функция/метод."

Функции/методы должны делать только одно действие.
Например:
Выборка, удаление, обновление, редактирование, поиск, прием, передача, проверка приема и пр - лучше разбить на разные функции/методы.

Аргументов у функций должно быть не более 3. Если вам необходимо передать много аргументов, то объедините их в объект, список, структуру и пр. и передавайте в функцию. ТЫЦ

Не возвращать из метода принятый аргумент. Создайте новый объект с которым будете работать в методе, его и возвращайте.

Если в методе есть условия (IF и пр), то при входе в метод определить требуется ли выполнять логику метода, если нет то return. А потом пишем логику. ТЫЦ

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 19 апр 2020, 00:52

SWITCH CASE BREAK
Данную конструкцию лучше не использовать, так как много вопросов вызывает отсутствие BREAK в CASE. Либо так задумано, либо забыл написать BREAK. Используйте IF ELSE - более "читабильно" и однозначно, хотя код смотрится загроможденнее.

Нежелательная конструкция

Код: Выделить всё

  switch () {
  case 1:
  	...;
    break;
  case 2:
	...;
  case 3:
  	...;
    break;
  case 4:
  	...;
     break;
  default:
  	...;
    break;
  }
Желательная конструкция

Код: Выделить всё

  if (  ) 
{ 
    ...;
} 
else if (  )
{ 
    ...;
} 
else if ( )
{ 
    ...;
} 
else if ( )
{ 
    ...;
} 
else
{ 
    ...;
} 

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: Как писать "чистый" код. Правила написания кода. Для начинающих и не только...

Сообщение admin » 14 май 2021, 14:27

чистый код
Роберт Мартин: Чистый код. Создание анализ и рефакторинг
С.Макконнелл: Совершенный код практическое руководство по разработке програмного обеспечения


Ответить