Задать вопрос
Mirkom63
@Mirkom63
Я программист

Как запоминать код, который писал две недели назад?

Друзья! Есть проблема... Расскажите кто как решает ее.

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

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

В общем основная проблема, что не могу уложить в голову всю целостную картину и логика проекта.

Думаю начать рисовать майнд мапы к проекту и описывать весь функционал которые писал кодом в визуальном виде. Чтобы можно было в любой момент глянуть и сразу понять что к чему и где присоединяется.

Но может есть и еще какие-то лайфхаки? Поможете? А то с ума схожу уже)))))
  • Вопрос задан
  • 5809 просмотров
Подписаться 19 Оценить 5 комментариев
Ответ пользователя Андрей К ответам на вопрос (16)
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Во первых необходима годная архитектура приложения. Я за счет жеско opinionated структуры путей в своем нано-фреймворке на 90% снизил оверхед на "подумать" а где у меня что.

Во вторых модульность, в идеале один модуль отвечает за одну таску. Не надо городить швейцарские ножи, это плохо кончается.

В третьих иммутабельность. Если ты меняешь в одно месте, а сломалось/упало в другом, то поздравляю, поциент, у вас мутабельность третьей степени и это фатально. Все что можно перевести в pure functions и immutable structures (тут с осторожностью, ибо можно выстрелить себе в ногу и уронить производительность ниже плинтуса).

Опять же, единственный source of truth спасает.

И самое главное, код надо писать так, чтобы он был понятен с первого взгляда, максимум со второго. Не надо в коде выеживаться и быть многословным. Код должен быть простым и лаконичным. Говоря что snake_case более читабельный, чем километровыйКамелКейс. Я, пожалуй, соглашусь, хотя использую в коде последний в основном.

Я часто встречаю весьма изящный хитрый код, который невозможно понять даже после часовой медитации над ним. Вот я так стараюсь не делать. Я стараюсь писать код, чтобы понял любой джун (очевидно который в контексте проекта). Получается не всегда, но достаточно часто.

По крайней мере в последние годы я с ходу понимаю что я там намудрил в проекте и через месяц, и через 6, и через 2 года. А раньше да, бывало через 3 месяца хотелось убить того ишака, который это написал, а потом вспоминаешь, что это был ты сам... :D

Еще момент - хорошо структурированные данные помогают писать более прозрачный код.
Ответ написан
Комментировать