Код, который не может не работать
Код, который не может не работать
Практическо-философский трактат о написании программного кода
Это принципы и концепции, которые описывают отношение к коду в момент его написания. На что следует обращать внимание, а чего следует избегать.
Это не только про технические аспекты, но и про энергетические. Про смыслы.
Поэтому — практическая философия.
Уже несколько десятилетий разработчики руководствуются устоявшимися принципами написания кода. Например, SOLID, паттерны и т.д. Они хороши, но я всегда искал чего-то больше. Пытался заглянуть еще дальше.
Пропустив через себя огромное количество кода, я начал замечать, как тот или иной код влияет на мое состояние и вывел некторые закономерности.
Кроме того, я видел, как тот или иной код отзывается на состоянии своих коллег, а стало быть, хороший код — это не только про удобство поддержки, это и про состояние отдельных людей, а стало быть и про состояние команды. И не только разработчиков, а всех остальных — буквально.
Сейчас в помощь разработчикам есть огромное количество полезных программ, утилит. С недавнего времени стремительными шагами ворвались различные нейросети. Стало быть, верные и хорошие технические решения стали гораздо доступнее.
Может пришло время по-новому взглянуть на разработку? Понять смыслы. Понять, «зачем я этим занимаюсь». Заботиться о себе, о коллегах, о проекте, о компании и о конечных пользователях разрабатываемого продукта.
С текущей технической базой есть время заглянуть дальше.
Делюсь мыслями о написании кода и процессах в разработке.
Пишу практическо-философский трактат — «Код, который не может не работать».
Я люблю код.
Я никогда не рассматривал написание кода как средство зарабатывания денег. Я рассматривал написание кода как процесс созидания. Мысль о том, что при помощи самого простого текстового редактора можно создать нечто реально изменяющее жизнь людей — будоражит сознание.
Я люблю код.
Я забочусь о нем. Я старательно подбираю названия переменных, функций, классов. Я старательно выстраиваю гармоничные узоры и структуры. Для меня это литературное произведение, песня, стихи и стихия.
Я люблю код.
Я люблю подсветку синтаксиса. Мне нравится ощущать код в контексте цвета. Цвет дает дополнительную степень изящества и грации. Цвет великолепно дополняет структуру и вкладывает дополнительные смыслы. Цвет — это надстройка над структурой. А структура — это надстройка над смыслами.
Я люблю код.
Я 14 лет каждый день пишу код. Практически без остановки. Если подсчитать количество дней и умножить на 8 (количество часов в стандартном рабочем дне), то получится 40 880. Это в 4 раза больше, чем 10 000 часов. Но я пишу код так же по вечерам и на выходных.
Принято считать, чтобы стать мастером, нужно посвятить 10 000 часов чему-либо. Получается, я уже четырежды мастер. Хотя этого совсем не ощущаю.
Я люблю код.
Для меня написание кода — это то же самое, что воздух, вода и пища. Я питаюсь энергией, которая выделяется при рефакторинге кода. Это пища для меня.
Я люблю код.
Через меня прошло огромное количество кода и насмотренность позволяет мне определить качество кода только лишь по цвету и плотности. Мне достаточно посмотреть на пару файлов с кодом, чтобы понять насколько сложно поддерживать эту систему, и сколько там ошибок содержится.
Я люблю код.
И он отвечает мне взаимностью. Мне еще много предстоит открыть для себя. Как строить более лаконичные и простые структуры для решения все более и более сложных задач. И я только начал понимать, насколько бесконечно это пространство вариантов.
Я люблю код.
Я чувствую, когда необходимо остановиться в улучшении кода, чтобы не вредить бизнесу перфекционизмом. Идеального кода не существует, однако существуют идеальное состояния, когда трудозатраты и функциональная ценность достигают эвтектики.
Я люблю код.
Я получаю огромное удовольствие от того, как развивается мысль при написании кода. Как одни структуры превращаются в другие. Третьи распадаются на более мелкие. Четвертые сливаются воедино. Это химическая реакция. Это игра на музыкальном инструменте. Это маленькая вселенная, которая зарождается с первого символа и превращается в итоге в галактики и звездные скопления. Это невероятная картина, если научится ее видеть.
Я люблю код.
Я с радостью наблюдаю, как написанный мной код работает без ошибок, а любую неполадку могу найти и устранить в течение 30 минут. Когда она происходит, я уже знаю где и как ее исправить.
Я люблю код.
Есть код, который болеет. Его называют легаси-код. Но на самом деле — это код, который не любили. И я чувствую его грустный взгляд. Взгляд, говорящий: «я с радостью сделаю все, как вы хотите, но...» — но его недолюбили. О нем не заботились.
Когда это возможно, я лечу код. И я вижу, как он обретает силу, как он становится легче и лаконичней. Тогда он начинает просто летать и становится понятным. Понятный код любить, конечно, легче. А вы попробуйте полюбить непонятный код. И вылечить его. А еще лучше, не пишите непонятный код. Вы не будете его любить. И никто не будет.
Я люблю код.
Я могу писать модули, либо большие фрагменты кода в слепую — без запуска. Я знаю, что он будет работать, я доверяю своему коду. И он работает. Хотя... пару строк поправить все таки приходится.
Я люблю код.
Есть много техник и методик, позволяющих писать хороший код. Какие-то я уже знаю, какие-то предстоит открыть. Но я уверен в том, что самая лучшая техника — это... да, вы угадали:
Я люблю код.
Код, который не может не работать
Практическо-философский трактат
∞ © Все права защищены
Все материалы, размещённые на данном сайте, защищены авторским правом.
При использовании, цитировании или копировании любых текстов, изображений или других элементов контента обязательно указывать активную ссылку на источник.
По всем вопросам обращайтесь по адресу электронной почты: om@cantfailcode.ru