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