Как эффективней писать ПО

230
27 сентября 2017, 09:18

Пишу средний проект на java. Сроки довольно сжатые. Как лучше распределить свое время: 1.Писать код по намеченной логике, и уже в конце начать его тестировать. 2.Или разбить логику на под задачи и писать/тестировать по кусочкам.

Второй способ кажется логичней, но допустим написав 1-5 пункты своей задачи и протестировав я пойму что 8 и 9 пункты вынуждают меня 1-5 пункты переписать. Так собственно и произошло, поэтому я этот вопрос и задаю. В итоге время на тесты было потрачено впустую.

И если есть хорошие статьи на эту тему буду благодарен.

Answer 1

Agile (итеративное) управление проектом удлиняет сроки разработки (во втором варианте вы по сути описываете именно agile технологию), но минимизирует риски не неверного проектирования.

К сожалению в 90% проектов при написании ТЗ (или планировании проекта) невозможно на 100% сразу определить все возможные проблемы. Как правильно отметили вы же сами ответили, проект после какой-то стадии начинает жить своей собственной жизнью, а именно:

1-5 пункты своей задачи и протестировав я пойму что 8 и 9 пункты вынуждают меня 1-5 пункты переписать.

Если проект небольшой или вы уверены в том, что риски неверного проектирования минимальны, то можно сразу писать и тестировать в конце.

Можно выбрать другой способ разбить задачу не на 8-9 пунктов, а только на 2-3 пункта ибо чем больше пунктом/итераций, тем более вы даете свободу нелинейности проектирования, зато чем меньше пунктов, тем больше рисков неверного проектирования.

Соответственно, вам нужно определить этапы/итерации проекта не исходя из внутренней логики проекта, а исходя из рисков неверного проектирования, то есть если вы видите в проекте, скажем 10 логических этапов, из которых 5 вам хорошо понятны, а еще 5 "темный лес", то имеет смысл проект разделить на 6 этапов: на 1 этап в котором собрать 5 понятных вам пунктов, а 5 непонятных так и оставить как 5 этапов. Понятно, что такое не всегда возможно, но тем не менее - как общая идея.

READ ALSO
TimerTask, повторный запуск

TimerTask, повторный запуск

ЗдравствуйтеВ MainActivity запускаю таймер

301
Подходит ли Android Studio для создания игр

Подходит ли Android Studio для создания игр

Много гуглил так и не нашел ответа , скажет пожалуйста подходил ли Android Studio для создания каких нибудь обычных игры по типу кликкеров и тд?

230
Автообновление погоды

Автообновление погоды

ЗдравствуйтеПишу приложение, в котором есть погода

300
Как посчитать сколько в одной папке файлов .txt, и как с ними работать?

Как посчитать сколько в одной папке файлов .txt, и как с ними работать?

Здравствуйте, у меня такой вопрос : когда работаешь с файлами, можно ли все фалы из одной папки, к примеру : у меня есть папка "Files", в которой...

296