Пишу средний проект на java. Сроки довольно сжатые. Как лучше распределить свое время: 1.Писать код по намеченной логике, и уже в конце начать его тестировать. 2.Или разбить логику на под задачи и писать/тестировать по кусочкам.
Второй способ кажется логичней, но допустим написав 1-5 пункты своей задачи и протестировав я пойму что 8 и 9 пункты вынуждают меня 1-5 пункты переписать. Так собственно и произошло, поэтому я этот вопрос и задаю. В итоге время на тесты было потрачено впустую.
И если есть хорошие статьи на эту тему буду благодарен.
Agile (итеративное) управление проектом удлиняет сроки разработки (во втором варианте вы по сути описываете именно agile технологию), но минимизирует риски не неверного проектирования.
К сожалению в 90% проектов при написании ТЗ (или планировании проекта) невозможно на 100% сразу определить все возможные проблемы. Как правильно отметили вы же сами ответили, проект после какой-то стадии начинает жить своей собственной жизнью, а именно:
1-5 пункты своей задачи и протестировав я пойму что 8 и 9 пункты вынуждают меня 1-5 пункты переписать.
Если проект небольшой или вы уверены в том, что риски неверного проектирования минимальны, то можно сразу писать и тестировать в конце.
Можно выбрать другой способ разбить задачу не на 8-9 пунктов, а только на 2-3 пункта ибо чем больше пунктом/итераций, тем более вы даете свободу нелинейности проектирования, зато чем меньше пунктов, тем больше рисков неверного проектирования.
Соответственно, вам нужно определить этапы/итерации проекта не исходя из внутренней логики проекта, а исходя из рисков неверного проектирования, то есть если вы видите в проекте, скажем 10 логических этапов, из которых 5 вам хорошо понятны, а еще 5 "темный лес", то имеет смысл проект разделить на 6 этапов: на 1 этап в котором собрать 5 понятных вам пунктов, а 5 непонятных так и оставить как 5 этапов. Понятно, что такое не всегда возможно, но тем не менее - как общая идея.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Много гуглил так и не нашел ответа , скажет пожалуйста подходил ли Android Studio для создания каких нибудь обычных игры по типу кликкеров и тд?
Здравствуйте, у меня такой вопрос : когда работаешь с файлами, можно ли все фалы из одной папки, к примеру : у меня есть папка "Files", в которой...