...А сосредоточиться в этом году хочу на том, как - ясно и прозрачно, легко и просто, быстро и дорого - упаковывать в своей голове системы всё большего масштаба (миллионы строк кода). Такие своеобразные формальные свёртки проектных знаний с минимумом потерь. Иначе будете как Олег, который никак не мог понять, почему его код постоянно даёт сбои (а потому что он изначально не знал, почему тот вообще работал). Ведь ковыряться в легаси-коде, в неполной документации, в кривой и противоречивой корпоративной wiki можно бесконечно и чаще всего совершенно непродуктивно. Да и пилить с нуля систему, которая уже на втором десятке тысяч строк стремительно превращается в big ball of mud, ничуть не лучше.
Для этого вам нужно ОДНО: вы должны знать и понимать прежде всего в своей собственной голове, почему весь ваш код, вся ваша система работает так, как работает сейчас, причём на всех основных уровнях абстракций (для разминки C4 в помощь например).
Первые три обязательных шага Базы (курсы по ним я сделал, будет отдельный трек):
-- Ясное Легаси
-- Ясное TDD по Кенту Беку
-- Ясное BDD
Они дадут прежде всего минимальное понимание темы, без которого что-то изучать дальше бессмысленно. Но там как раз и начинается самое интересное: как например вывернуть BDD "наизнанку", стать инди-хакером, взламывающим, как Эллиот Андерсон, дебильные организационные процессы, "организованные" бездарными и никчемными менеджерами, не сверху, а снизу, через корпоративный КОД.
=
"Цель разработки ПО -- создание фрагментов или срезов, которые умещаются в человеческом сознании. Программное обеспечение продолжает расти, но возможности человеческого мозга ограничены, поэтому, чтобы продолжать вносить изменения, мы должны продолжать фрагментировать".
-- Кент Бек
Как это сделать — фундаментальная тема программной инженерии. К счастью, есть набор эвристик, которые могут помочь. Сколько их? Я отобрал (буквально, отжал у ряда гуру computer science :) где-то около 50-ти. При том, что практически каждая из них автономна (как вышеупомянутая про устранение предупреждений линтера), и вы сможете хакать и править с их помощью кривейшие организационные процессы разработки в вашей конторе практически сразу же после изучения, при этом никак не согласовывая свою подпольно-революционную активность ни с кем, кроме адекватных понимающих сеньоров.
Post #1568
1.13K

- 👍 52
- 🔥 13
- ✍ 3
- ⚡ 2
- 🤝 2