Как читать большие исходники, анализировать большие системы?

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

1) Нужно разбивать большие системы на подсистемы, выделать паттерны.
2) Строить UML диаграммы на исходный код или как-нибудь визуализировать код.
3) Использовать специальное ПО, типа SourceInside

Какие подходы используете вы? (да я понимаю, что нужен опыт, а если опыта пока мало?)

UPD: Я не спрашиваю насколько вы круты и как ловко орудуете Notepad. Я спрашиваю о том, как мыслить (как вы мыслите) при анализе исходников.
  • Вопрос задан
  • 3577 просмотров
Решения вопроса 1
@Next_Alex
Попробуй прогнать проект Sparx Enterprise Architect. Легковесная и весьма функциональная приблуда. Покажет тебе структуру проекта и связи, а дальше уже будет проще.
Она платная, но есть пробная версия - для анализа вполне достаточно будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
egor_nullptr
@egor_nullptr
Начинаю с этого:
Whiskey-Cigars.jpg
Ответ написан
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Наверное, тут помогает хорошая архитектурная абстракция проекта. Большие листинги становятся маленькими или, по крайней мере, разбиваются на логические сущности. Пока проект строится - пишутся просто заглушки, затем эти заглушки реализуются. Но в любом случае, самая важная, глобальная архитектура должна обдумываться заранее, чтобы потом не приходилось держать в голове весь проект =)
Как правило, запиливая отдельный модуль, глобальную архитектуру по отношению к нему можно изображать достаточно схематично, а в рамках этого некоего модуля всё в мозгу должно помещаться с необходимой точностью.
Ответ написан
opium
@opium
Просто люблю качественно работать
Большую систему нельзя изучить быстро, прочитали один раз, второй, третий, на десятый вы уже не забываете что было в начале.
Ответ написан
Комментировать
cbone
@cbone
Серверная инфраструктура
IDE очень помогает, раньше использовал eclipse, теперь открыл для себя NetBeans и он мне больше понравился. Там есть навигация по коду (по порядку описаны методы исходника). Часто использую этот функционал - как шпаргалка. Ну и конечно же хорошие комментарии в коде очень помогают навести порядок в голове
Ответ написан
Комментировать
metamorph
@metamorph
Вы такие не поверите, но самый удобный способ лично для меня - это Sublime Text 2(3) с его фееричными Cmd+P (быстро шариться по проекту), Cmd+R (быстро шариться по коду) и Cmd+T (быстро шариться по вкладкам).

А так вообще да, выделять паттерны, строить диаграммы, собирать совещания и вообще вести себя подобающим образом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы