Цитата:
Сообщение от
Кирилл
Разные потребители.
Прекрасными детальками пользуется программист. Он мыслит категориями "могу".
Деталька предоставляет такие-то сервисы и накладывает такие-то ограничения и область применения. В итоге программист использует детальку только так, как это задумал ее автор, либо не использует.
В любом случае детальками пользуется программист (и в коробочном и в пластилиновом).
Цитата:
Потребителем прикладного решения является заказчик. Он мыслит категориями "хочу" и может захотеть что-либо, находящееся вне области применения, заданной нашей прекрасной системой без пластилина.
И тут перед программистом встает дилемма. Либо отказаться от денег, либо от принципов
Принципы придуманы для денег. Например, чтобы легче было менять и переходить на следующие версии. Сейчас X++ содержит очень мало возможностей, чтобы разработчики стандартного формально объяснить "если не будешь это менять, в следующей версии код продолжить работать, а если поменяешь, то я не ручаюсь". В результате программист не может сказать заказчику "Подумайте, я могу это сделать, но при переходе на следующую версию будет геморрой - стоит ли оно того" так как геморрой будет в любом случае потому, что интерфейс не отделен от реализации и нет достаточных способов не меняющего расширения.
Дилемма всегда будет но при разных инструментах и подходах она встает реже или чаще. Я думаю, что можно серьезно уменьшить количество гнутых деталек, если поменять инструменты.