Довольно часто я сталкиваюсь с вопросом, касающимся качества кода: «Почему написано так, а не такЭ» И я каждый раз объясняю.
Именно поэтому я решил написать заметку с пояснениями.
Второй вопрос, который возникает: «Где ты научился так красиво писатьЭ» Ответ на который будет в конце статьи.
Довольно распространенная проблема при написании кода заключается в том, что он выглядит как сплошной текст и содержит проблемные места, усложняющие не только чтение, но и дальнейшее сопровождение.
В таких случаях не следует пренебрегать использованием переносов строк и дополнительных символов пробела.
Вспомнился бородатый анекдот, основанный на реальных событиях:
Разработчик читает свой код, написанный: - сегодня: отличный современный крутой код! Я бы всегда так писал! - вчера: Итак, я остановился здесь.Ага! - на прошлой неделе: что я там делал?.
- прошлый месяц: так где задание с описанием? - в прошлом году: у человека, написавшего этот код, были бы сломаны ноги!
Недавно наткнулся на вот такой кусок кода (чтобы не портить его внешний вид, вставлю изображение):
О существовании шаблонов даже говорить не буду — скажу лишь, что ООП было придумано для уменьшения дублирования кода, но… Этот раздел очень трудно читать.
Вам предстоит прочитать каждое слово, чтобы понять, что в нем происходит и не пропустили ли вы что-нибудь.
Это связано с большим объёмом слов на достаточно маленькой площади и является проблемой.
Мы давно пережили времена нехватки дискового пространства и не стоит ценить лишние символы.
Это обычная экономия на спичках.
Зачем усложнять жизнь не только себе, но и тем, кто будет поддерживать этот код после вас? Плохо какать там, где ешь.
Помимо вставки дополнительных символов и разрывов строк, попробуйте разделить код на логические блоки.
Логический блок — это участок кода, состоящий из нескольких строк, объединенных каким-то общим признаком.Например, возьмем следующий раздел:
В нем мы видим непонятный массив текста, который можно разделить на логические блоки, что позволяет быстро понять его смысл, существенно сокращая время на его сопровождение:$salaryFirstBaseEmployer = $employer->salaryBases->first()->salary_base; $salaryLastBaseEmployer = $employer->salaryBases->last()->salary_base; $begin = Carbon::parse('2020-05-01')->startOfMonth()->startOfDay(); $end = $begin->clone()->endOfMonth()->endOfDay(); $endMonth = $begin->clone()->endOfMonth(); $startPeriod = new CarbonPeriod($begin, $end); $endPeriod = new CarbonPeriod($begin, $end);
$salaryFirstBaseEmployer = $employer->salaryBases->first()->salary_base;
$salaryLastBaseEmployer = $employer->salaryBases->last()->salary_base;
$begin = Carbon::parse('2020-05-01')->startOfMonth()->startOfDay();
$end = $begin->clone()->endOfMonth()->endOfDay();
$endMonth = $begin->clone()->endOfMonth();
$startPeriod = new CarbonPeriod($begin, $end);
$endPeriod = new CarbonPeriod($begin, $end);
Заключение
Давным-давно мне дали хороший совет:Всегда пишите код так, как будто его будет поддерживать нестабильный, жестокий маньяк-психопат, знающий, где вы живете.И это единственное правило, которое помогает писать чистый и красивый код на любом языке программирования.
P.S.: Уже несколько человек написали, в том числе сообщениями за пределами Хабра, что есть такие вещи, как PSR, автозаполнение кода, форматирование кода в IDE, cs-fixer и так далее.
Вы действительно думаете, что я не знаю об их существовании? Проблема, раскрытая в статье, не в том, что они не используются, а в том, что мешает изначально написать красивый код, не поджигая при этом пуканье других разработчиков?.
P.S.2: Так получилось, что подавляющее большинство комментаторов ухватились за примеры в статье, забывая ее основной посыл.
В связи с этим я удалил все примеры, не несущие никакой смысловой нагрузки и значения для статьи как таковой.
Теги: #программирование #языки программирования #PL #чистый код #стиль программирования #стиль кода #стиль кода #почерк
-
Флэшбэк От Adidas
19 Oct, 24 -
Opengl Против Directx, Эпизод Ii
19 Oct, 24 -
Для Чего Используется Tor?
19 Oct, 24 -
Просто Убанк В Кармане: Как Это Было Сложно
19 Oct, 24 -
Никогда Не Отвлекайте Программиста
19 Oct, 24