Проект в одиночку. Как?

Рано или поздно любому иногда приходится браться за какой-либо проект, который надо самому написать. Т.е. я один пишу, я один документирую, я один тестирую. Так вот. Сейчас я пишу библиотеку одну. Библиотека подразумевает какую-то функциональность, логику. Не примитивный мост между нативным API к удобному представленную классами. Я не очень четко представляю как весь этот процесс сделать правильно, ведь любой из названных этапов важен. Важно правильно тестить продукт.
Скажем я начинаю какой-либо класс, с чего мне начать? Чем руководствоваться?

P.S.
Пишу на C++.
  • Вопрос задан
  • 2912 просмотров
Решения вопроса 1
Ну и пишите в тесте что-то вроде

result = MySuperClass::runSuperAction();
assertEqual(result, 'Expected result');

затем реализуете саму функцию (пустую), чтобы скомпилировались тесты, запускаете тесты и видите, что они не проходят, потом изменяете функцию так чтобы тест прошёл и, считайте, функциональность вы реализовали, тестирование этой функциональности и документацию.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
ThePretender
@ThePretender
Я бы посоветовал вам выкинуть из головы всю мишуру вроде юнит-тестов, кошерной архитектуры и абстрактных фабрик. Главное — не тесты, не документация и не мана небесная, снизошедшая на вас после написания богоугодного кода. Главное — сам код, который выполняет поставленную задачу. Вот и пишите код, руководствуясь здравым смыслом. Если потом почувствуете, что вам нужны тесты — напишете тесты. А нет, так нет.
Ответ написан
@lomalkin
> Проект в одиночку. Как?
Сложно. Но удачи вам!
Ответ написан
kirushik
@kirushik
Для меня ещё важный момент — измеряемость результата.
Если просто сесть городить код, то можно сдуться где-то в процессе, чисто из-за потери «энтузазизьма». И тогда либо проект бросается на полдороги, либо пургу начинаю гнать.
С этих позиций те же тесты немного помогают — видно более-менее, какую часть тестов я уже успел засатисфачить.

А ещё мне очень помогает планирование мелких задач в часах, идею у Джоэла Спольски почерпнул: russian.joelonsoftware.com/Articles/PainlessSoftwareSchedules.html
Ответ написан
Ваш ответ на вопрос

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

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