Прыжки по коду
От: licedey  
Дата: 12.12.16 17:26
Оценка:
Дело в том, что почти всегда над проектом я работаю в одиночку. Проекты разной величины, ну скажем самые большие занимают год-полтора.
Так вот суть в чем. Я понимаю, что уже сто лет как напридумывали всяких редмайнов, джир и фабрикаторов, со скрам бордами через плечо.
НО! Заказчик пишет — я хочу такую то фичу, она должна свистеть, а сзади у нее должен быть красненький мотор. Он уложился в три строки. И вроде с виду
все понятно, думаешь, тю, легкотня на пару дней. НО! Начинаешь писать код, разбивать его на классы, потом на свойства, методы. Доходя до реализации,
которых, далеко углубляешься в дебри кода, соблюдение этих солид принципов и прочьего, что вчерашняя легкотня, превращается в монстрообразное мессиво
которое практически выходит из под контроля.

А выходит из под контроля почему? Потому что держать в голове его не удается. Например у меня 200 файлов с классами, в них в общей сложности 2000 методов и свойств,
а человек, насколько я знаю может держать в голове до 9 сущностей. ОК, в IDE все перед глазами и хоткеями можно перейти к нужному месту этого монстра.
НО! Заказчик говорит, а я хочу еще вот такую зелененькую свистелку сбоку.

В общем, чтобы не растекаться мыслью по древу, перейду к вопросу. У вас есть монстр, у вас есть задача. Между ними — пропасть реализации. Как удержать в голове и реализовать все микрозадачи?
Обычный процесс кодинга идет примерно так (по себе сужу). Вам надо создать класс (в нужной папке), создать в нем свойства, затем связать это с UI, потом поправить класс Settings, чтобы он учитывал внесенные изменения, в другом классе создать объект, перейти в нужный метод итд. В общем случае, мы постоянно прыгаем по коду. Огромному неуправляемому. И как проще сделать, чтобы эти прыжки были более продуктивными и не напрягали весь мозг.

Вот мой пример, что для этого делаю я. У меня есть мультизадача, или сверхзадача, которую обозначил заказчик (хотите менеджер). Разумеется я разбиваю ее на более мелкие подзадачи. И далее, исходя из них я начинаю кодить. Но тут и приходиться запинаться все время. Прыг в UI, прыг в конфиги, прыг в класс модели, прыг в класс view-модели,
назад в UI. И этот процесс цикличен. Между этими прыжками, можно потерять какую-либо деталь и вообще улететь в космос, размышляя о бытие.
Вобщем я пишу все в блокнот, все эти микрозадачи, и при каждом прыжке лезу в заметки, чтобы не забыть. У вас как?

p.s. сейчас мне представляется эта картинка из фильмов про хакеров, когда хакер бешено кодит и за 62 секунды у него получается прога. А еще, часто
на слуху в IT-блогах проскальзывает "состояние потока". Что это за состояние, когда тебе надо контролить уйму деталей? Писать все в один файл как emacs.c?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.