Перед началом: код в этой статье написан на Typescript, но я думаю, что это не мешает разработчикам понять, что происходит.

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

Задача для вас дома: попробуйте суммировать, что делает эта функция менее чем за минуту (ответ, очевидно, не будет «она обновляет информацию», попробуйте объяснить, что она делает, шаг за шагом).

Поэтому перед добавлением нашего кода мы решили немного его переписать. Вот что у нас получилось:

То же упражнение, минутку, вперед!
Это заняло у вас меньше минуты, не так ли?
Я хотел показать все функции, которые мы написали, но передумал: это далеко от того, о чем я хочу здесь говорить (плюс это вызвало бы дискуссию о том, как разрезать функции на более мелкие и более функциональные) .
Интересный факт: как только мы это сделали, у нас не было проблем с поиском места для добавления нашего кода, который должен был обновлять информацию, полученную от другого сервиса ...

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

Что меня больше всего впечатлило (не в лучшем смысле), так это то, что сколько раз люди за последние недели меняли эту функцию, даже не очистив ее.
Для меня это правило называется «Правило бойскаута», которое известно, что он применим к кодированию («Всегда проверяйте код в более чистом виде, чем когда вы его проверяли»), это одно из наиболее важных правил в разработке.
Необязательно оставлять его как можно более чистым, просто очистите его немного (это может быть что угодно: переименование чего-либо, вырезание функции, добавление комментария…), потому что если это делается каждый раз, код изменений, код будет все больше и больше быть наиболее читаемым и удобным в обслуживании.

Код, который вы пишете, должен легко обслуживаться. Когда кто-то читает его впервые, этот кто-то должен быть в состоянии быстро понять, что происходит ... и этот кто-то включает вас (потому что вам, возможно, придется обновить этот код в 6 месяцев).
Вы должны думать о читабельности кода во время работы… и это действительно просто: как только вы закончите, спросите себя, может ли кто-нибудь это понять? (не спрашивайте себя, поймете ли вы это, конечно, поймете).
Спросите кого-нибудь, например, это обычно делается с помощью проверки кода.

Код должен быть таким же легким для чтения, как чтение книги… потому что код подобен любому языку.