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

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

"Это для меня китайская грамота"

Современные языки кодирования имеют синтаксис, близкий к простому английскому языку. К сожалению, это не меняет того факта, что код может быть трудночитаемым. Даже опытным разработчикам может быть трудно читать чужой код, если эти строки абстрактны. Учитывая, что код прост, в нем может быть так много частей, что тот, кто смотрит на ваш код, будет полностью сбит с толку.

Вы можете подумать, что когда люди смотрят на ваш код, они видят это…

Наяву они действительно это видят -

Чего ждать? ЧТО ЭТО ЗНАЧИТ?!

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

Комментарии в вашем коде превращают его из абстрактного в нечто более понятное читателю. Это не должно быть очень описательным. Пока он достаточно краток, чтобы объяснить, что делает код.

Департамент сокращения штата

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

От одного взгляда на это начинает болеть мозг. Почему кодер повторился несколько раз?

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

Предыдущий фрагмент кода будет выглядеть эффективнее, если сделать так:

"Мне жаль. Иисус уже взят. Хесуса будет достаточно?»

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

В небольших проектах мы обычно используем глобальные переменные для хранения данных, которые будут использоваться в нашем приложении. На рисунке выше довольно активно используются глобальные переменные в приложении. Количество модулей, которые мы делаем в нашем приложении, невелико, и мы не жонглируем разными наборами данных. Однако по мере роста нашего приложения с большим количеством функций и модулей нам надоедает то, что мы объявляем как глобальные переменные. Легко объявить глобальную переменную, а затем при кодировании дать функции такое же имя. Или, что еще хуже, ошибочное присвоение значения глобальной переменной, думая, что оно является локальным для функции, в которой вы кодируете. Другая причина быть осторожным заключается в том, что глобальные переменные общедоступны и доступны из любого места. Если у вас есть данные, которые вы не хотите, чтобы кто-либо имел, вы хотите объявить эту переменную внутри функции, где остальная часть приложения не может получить к ней доступ.

Уроки выучены

Посмотрим правде в глаза, мы все пишем действительно дрянной код и не хотим возиться с этим. С другой стороны, те, кто пишет «красивый» код, написали много плохого кода. Больше, чем средний разработчик. Что отличало их, так это то, что они слушали других, которые не могли понять их код. Они вернулись и добавили больше комментариев, где код был слишком абстрактным и не попадал в кроличью нору, объясняя, что делает один модуль. Они также осознают, сколько времени уходит на повторение себя (или на запястный туннель), и находят способы сделать свой код более точным. Наконец, они поняли, что глобальное пространство заслуживает только глобальных переменных, которые имеют значение во всем приложении, а также обращают внимание на то, что должно быть там, а что нет.