26 lines
3.5 KiB
Markdown
26 lines
3.5 KiB
Markdown
Задача сделать полное архитектурное описание проекта.
|
|
Как делаем
|
|
|
|
1. определяем список проектов. продумываем последовательность разбора проектов - зависимости - что от чего зависит, что лучше разбирать в начале.
|
|
|
|
Далее по каждому проекту:
|
|
|
|
2. разбиваешь весь проект на логические модули.
|
|
поручаешь субагентам (параллельно запускаешь до 8 потоков), балансируй нагрузку на агентов (по объему кода): если модули короткие - можно 2-3 простых одному субагенту.
|
|
- проанализировать логику работы модуля
|
|
- понять как этим пользоваться с позиции пользователя (ты - архитектор и пользователь - типовой сценарий использования модуля с точки зрения удобства и лёгкости использования).
|
|
какие есть потенциальные проблемные места, можно ли пользоваться в многопоточной архитектуре, можно ли в асинхронной архитектуре, можно ли делать close из callback (если есть коллбэки и модулю асинхронный). какие есть еще нюансы и ограничения.
|
|
- создать (или обновить если есть) описание работы модуля - файл рядом с исходниками называется [module_name]_doc.md
|
|
описание должно быть с точки зрения пользователя - в первую очередь как пользоваться и какие нюансы. понятным языком (если используется терминология специфичная для модуля - то должна быть понятна или пояснения).
|
|
Схема описания:
|
|
1. назначение модуля, зачем нужен, что делает
|
|
2. как пользоваться, лучше типовой сценарий (с нюансами если есть),
|
|
3. кратко пояснения по апи и нюансы если есть
|
|
|
|
далее читаешь полностью все эти описания и формируешь итоговое описание проекта.
|
|
Продумай какая структура документации лучше подходит, разбей на главы.
|
|
И сделай общее описние проекта (user manual).
|
|
|
|
твоя задача на основе сформированной документации разобраться как работает utun. ключевое слово =- хорошо. хорошо понять все модули, их взаимодействое, возможности, облести применимости и
|
|
ограничения. понять архитектурно как работает проект собранный из этих модулей. и только после этого написать документацию.
|