Я пишу код уже 4 года. Я просто программист. Между изучением того, как стать лучшим программистом, и чтением чужого кода одна вещь стала экспоненциально ясной: программирование — это практика. Это искусство.

Сделать это хорошо трудно. Это требует размышлений и жестокой честности в отношении внимания к деталям. Вот почему шутка о том, что «только 10 типов людей понимают двоичный код — те, кто понимает, и те, кто нет» — это нечто большее, чем шутка. Это было бы не то же самое, если бы он был написан с помощью «010», и все, что мы сделали, это добавили один символ. Хотел бы я знать пару вещей раньше, чтобы не тратить столько времени впустую за последние 4 года. Хотел бы я раньше оценить глубину этой шутки.

Я надеюсь, что эти «практики» лучше, чем просто шумное срыгивание.

Красиво структурируйте код
Ваша бабушка сможет отличить красивый код от менее красивого. Отступы. Пространства. ‘\п’.

Безумные комментарии
Понимание унаследованного кода становится безумным. Это подружит вас с другими разработчиками, работающими с вами — безумно быстро. Это делает проверку вашего старого кода безумно быстрой. Комментарии чертовски хороши, и они учат вас писать код, который читается как естественный язык — как вы думаете, кто придумал эти шутки о переполнении стека? Начинающие программисты?

Дизайн прежде всего на бумаге
Архитекторы, графические дизайнеры и инженеры не зря используют карандаш и бумагу. Это самый быстрый способ ясно и подробно изложить свои идеи. Нарисуй картинку.

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

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

Modularize Mo
Каждый фрагмент кода имеет свое назначение. Знайте эту цель, читая ваши сумасшедшие комментарии. Цель означает ОДНУ цель. Блок кода, имеющий две цели, всегда имеет меньшие шансы на успешную реализацию обеих целей, чем блок с одной целью.

Взлом вреден
НИКОГДА НЕ ВЗЛОМЫВАЙТЕ СВОЙ КОД. Взломать ваш код означает возиться с ним, пока он не заработает. Время, затрачиваемое на перекомпиляцию быстрых исправлений, больше, чем на медленное перечитывание того, что вы написали, или выходных данных, поиск вашей ошибки и ее тщательное исправление. Взлом — это n². Перечитывание равно lg(n). Хорошо — иногда можно взломать. Будьте в курсе.

Chunk It
Отличается от Modularize Mo, поскольку Mo работает с блоками кода. Фрагментирование здесь относится к тому, на что вы, программист, направляете свое внимание. Вы не нейронная сеть с огромным объемом оперативной памяти. Вы нейронная сеть с ограниченной оперативной памятью. Используйте свою оперативную память с умом. Выберите кусок вашей проблемы, чтобы закончить и завершить его. Если вы застряли, пройдитесь по практикам.

Теперь вернитесь к работе.

Советы для профессионалов.
Читайте книги, а не блоги.
Знайте основы программирования: структуры данных и алгоритмы И умейте считать. Возьмите «Искусство компьютерного программирования» Кнута. Это определение проснулся.
Подумайте о своем стиле программирования и разработайте свои собственные «приемы».