Перед тем как начать, да и когда уже начал разрабатывать библиотеку у меня достаточно часто возникает вопрос : А все ли я правильно делаю? Мне хочется иметь перед собой список вопросов аналогичных тем что в книге Стива Макконела "Совершенный код", которые бы помогали мне правильно организовать процесс разработки библиотеки.
Целесообразность разработки
- Какую проблему должна решать библиотека?
- Какими другими способами можно решить эту проблему?
- Существуют ли аналоги библиотеки? Какие? Чем конкретно они не устраивают?
- Сколько времени займет Fork+Improve существующей библиотеки для решения проблемы?
- Сколько займет разработка библиотеки с нуля? Когда Дедлайн?
- Под какими операционными системами и платформами будет работать код библиотеки?
- На каком языке программирования надо написать?
- Какой тип разработки? (ООП, процедурный и др.)
- Как будет доступна библиотека? (сорцы, хидер+lib-файл, инклуд+dll,приватная и только для разработчиков)
- Должен ли быть сделан обзор проблемы, требований, целей, задач?
- Будут ли существовать формальные документы для фабулы проблемы, требований, целей, задач, архитектуры?
- Если будут формальные документы, то как они должны быть написаны и именоваться?
- Нужно ли спроектировать архитектуру проекта?
- Какая должна быть файловая система проекта библиотеки?
- Должен ли быть сделан обзор архитектуры и кем?
- Должна ли быть шапка в хидерах, сорцах?
- Должна ли быть написана документация для разработчика? (установка, использование, сопровождение, куда слать багрепорты)
- Будет ли использоваться Doxygen или другое средство авто-документирования?
- Должны ли быть какие-либо тулзы,скрипты и др. упрощающие ее использование?
- Как часто должно быть сделано code-review?
- Надо ли написать юнит-тесты?
Комментариев нет:
Отправить комментарий