Архитектура приложения.
В общем, так: есть приложение на 3к строк кода, написанное на C# c Win Forms. Сложности по добавлению новых фич начались ещё примерно на 1,5к строке, а может и раньше. Сейчас, чтобы добавить какой-то функционал или поменять старый, нужно очень аккуратно писать код, чтобы не сломать уже построенное. Иногда добавление чего-то нового не происходит, как добавление одной функции, которую потом нужно вызвать в определённых местах, получаются небольшие куски кода, которые нужно вставить в разных модулях. Нередко бывает, что сразу не понимаю, где ещё нужно внести изменения и это приводит к долгому процессу отладки всей цепочки действий с несколькими алгоритмами, чтобы понять, что отвалилось.
В общем, всё получается плохо и сложно.
Чего бы мне такого почитать, чтобы, не писать говнокод и приложения были легкоподдерживаемыми и расширяемыми? Есть подозрение, что проблема в плохом выделении отдельных объектов и их функций, многое получается просто в основном модуле, но, у меня и так уже под сотню методов, каждый из которых реализует какую-то часть всей логики. У самого приложения не так уж и много возможностей, поэтому мне кажутся странными такие объёмы.
Может, кто даст советов мудрых? Хотя бы основных - что делать при проектировании стоит, а чего не нужно?
2. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования.
3. Майкл Физерс. Эффективная работа с унаследованным кодом.
Все книги по рефекторингу - засунуть в жопу авторам.
Рефакторинг - это хорошо - если действительно это будет лучшим решением. Т.е. если ты сам имеешь навыки и опыт написания хорошего кода.
Кроме того хочу заметить - 3К кода - это не очень много на самом деле. Дешевле и проще программу переписать - если понимаешь предметную область.
Исключаем проектирование из процесса получаем то, что вы получили, заметим, что 3к это вообще то копейки. Шаблоны мастурбирования как продолжение манки подхода привнесут чуть большую предсказуемость результата. Сначала анализ и проектирование и только потом развлечения с левой рукой, потратьте неделю и воздастцо вам особенно на 3к то.
Никакая мудрая книга тут не поможет. Это приходит с опытом. Другого способа научится грамотно проектировать архитектуру нет.
Цитата: Ramon
Исключаем проектирование из процесса получаем то, что вы получили, заметим, что 3к это вообще то копейки. Шаблоны мастурбирования как продолжение манки подхода привнесут чуть большую предсказуемость результата. Сначала анализ и проектирование и только потом развлечения с левой рукой, потратьте неделю и воздастцо вам особенно на 3к то.
Может, расскажешь, например, как проектируются приложения в экстримальном программировании?