По моему опыту, «прыгать вокруг» или, точнее, «прыгать вокруг» - это признак более насущной проблемы, одной из плохо поставленных целей.
Если у вас есть очень четкое представление, в письменной форме, будь то заметки на боковой панели вашего монитора или официальные спецификации, прикрепленные к выбранному вами средству отслеживания проблем, то вы почти всегда точно знаете, над чем работать дальше . Если вы всегда работаете над одной из следующих вещей, у вас будут хорошие шансы на успех в проекте.
Если, с другой стороны, ваше представление о том, что является следующим по важности, является туманным, на самом деле гораздо труднее найти то, над чем можно поработать, что на самом деле решает проблему, на решение которой направлен ваш проект, или, более конкретно, оно гораздо менее и - высушите, решая, что это конкретное изменение завершено и решает конкретную проблему.
Если у вас есть такая цель, как «сделать пользовательский интерфейс более простым в использовании», то почти невозможно сказать, каким должно быть следующее исправление или когда вы закончили «исправление пользовательского интерфейса» и можете перейти к чему-то другому. Если, с другой стороны, у вас есть цель, такая как «объединить эти выпадающие списки в поле поиска с автозаполнением» и «foo» должен автоматически завершиться до «Fooly Brand Baring», это совершенно очевидно, когда вы исправите эта проблема.
Не пишите никакого кода, пока у вас нет действительно четкого представления о том, когда остановиться , и, если у вас нет четких идей, работайте над получением одного из них вместо того, чтобы запускать другую ветку для какой-либо общей функции.
Если у вас есть такая хорошая работа (даже для личных проектов), то «прыгать вокруг» совершенно нормально, безопасно и полезно.