Как работать над существующим проектом, который не был задокументирован? [закрыто]


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

Сайт построен на Codeigniter (PHP), имеет более 500 страниц со страницами, содержащими до 900-1100 строк код и несколько настраиваемых параметров. Существует ли какой-либо эффективный и не требующий много времени метод для начала? Какие-нибудь инструменты, которые могли бы помочь?

Author: cHao, 2011-10-27

2 answers

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

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

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

В конце концов, если нет никакой документации, все, что вы можете сделать, это пройти через программу как в коде, так и во время ее выполнения (при условии, что она вообще работает), чтобы вы могли догадаться, что это такое так и должно быть. Документируйте меньшие функции, прорабатывайте свой путь до больших функций/классов. Храните все заметки, с которыми вы столкнетесь. Убирайтесь там, где это возможно, но ТОЛЬКО если у вас есть ЧЕТКОЕ представление о том, что должна делать та часть, которую вы убираете. Что может занять некоторое время.

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

Удачи.

 3
Author: Johan B.W. de Vries, 2011-10-27 17:29:01

Использование Doxygen было довольно полезно для получения читаемого/просматриваемого описания структуры проекта, и он поддерживает PHP в стандартной установке. Он генерирует HTML-документ, содержащий гиперссылки между различными зависимостями в программе.

Запустить его довольно просто:

cd <project-top-level-directory>
doxygen -g
doxygen Doxyfile
 2
Author: , 2011-10-27 21:22:41