Igor Bespalchuk
Декларативный стиль - это всего лишь стиль высказывания. Это не отличает требования от конструкции. Отличает другое. Если вы написали программу (в любом стиле) и она работает - значит, вы задали конструкцию полностью, места для неопределенности, для дальнейшего конструирования - не осталось. А если вы написали что-то, и есть масса способов довести конструирование до работающей машины (которой пока нет) - значит, вы описали не конструкцию, а, возможно, только требования. Кстати, они могут быть написаны вполне в стиле последовательности действий и изменения состояний, типа "в императивном стиле", оставаясь требованиями.
Отличия IMHO не в этом. Оно не синонимичное - типа какая разница - подай с пола яблоко лежащее в 20 см слева от кровати, или - принеси одно из разбросанных на полу яблок. Оно онтологическое. 1) "Директивный" стиль перегружает контур управления - он требует от постановщика задачи быть асом во всех аспектах и учитывать все риски 2) Директивный стиль не допускает интерпретации исполнителем способа решения - он отрицает что исполнитель постоянно учится и может находить другой опыт решения данной задачи 3) Директивный стиль не учитывает риски - когда в процессе возникли какие то изменения - надо эскалировать вопрос наверх 4) Директивный стиль как правило провоцирует встречное сопротивление - мало кому интересно выполнять "чужую волю" 5) Директивный стиль слишком заметен - в условиях контригры оппонентов - даже само вскрытие стратегии противника или догадка о его наличии - может значительно уменьшить успех его мероприятия, которое станет не "внезапным" 6) Директивный стиль убивает инициативу - зачем думать, если за тебя уже подумали... И пр... Я не отрицаю - что программисты, как люди рациональные - не любят случайностей. И все хотят разложить по полочкам. Или по крайней мере поуправлять этими вещами вне контура своей ответственности. Вам наверное встречались программисты или архитекторы, которые на прямом серьезе хотели поуправлять даже собственниками и владельцами компании , "наставить их на путь истиный" - а на деле боясь их инициативы, которая могла бы им доставить дискомфорт.. Поэтому я думаю - что директивный стиль при всей понятности - применим только в условиях нехватки времени и в конкретных простых кейсах - типа "тушения пожара".. Во всех остальных случаях - лучше разумно "пускать на самотек" - выстраивая только самые необходимые границы, но не втягиваясь в микроменеджмент.. Природа уже давно это сделала - даже на человеке. Есть ЦНС - включая головной мозг - который занимается вселенскими проблемами, а есть спинной мозг - который управляет "периферией".. А где не хватает скорости или геометрически трудно проложить нервы - там используется гормональные коммуникации - адреналин мгновенно дойдет до каждой клеточки и органа, быстро разнеся broadcasting message на химическом уровне..