Цитата:
Сообщение от
ax_mct
Это как "повезет" или как о совместимости "позаботятся".
Пойнт в том что использовать вызовы "системного" кода такого как WinAPI или популярные стандартные библиотеки - это одно (основываться на текущем фундаменте или на старом фундамента который оставили для совместимости),
а ссылаться на прикладной слой (который меняется) это как на живом существе мансарду строить.
Вы не поверите, но у WinApi за фасадом тоже кое-что меняется. Разумеется, для более мелкого рынка в backwards compatibility вкладывают меньше (у джоэла была история о том, что для поддержки Sim City эмулировали баг)
Цитата:
Так как чаще всего то что мы имеем в AOT это не "интерфейс", это внутренности сложного существа где все слишком переплетено. Начнем отделять один орган - порвем другие.
Интересно, что у живых существ тоже есть "интерфейсы": например можно взять и заменить сердце на другое или вообще на исскуственное.
Цитата:
Меняется функциональность - меняется все. Это оправданно.
Знаком ли вам open closed principle проектирования?
Цитата:
Для бизнеса это внутренние проблемы программиста а не бизнеса. К которой прислушаются, но которая имеет понятное для них значение только если отражается на времени разработки и количестве "ошибок". А последние две вещи очень слабо связаны с программистскими радостями на уровне кода.
То есть вы считаете что то, что вы называете "красотой кода" никак не связано с количеством ошибок и временем разработки?
Цитата:
Функционал напрямую связан со временем и стоимостью разработки. Даже в идеальном мире где вы кодируете по идеальной спецификации. Так как чем сложнее фунционал тем больше нужно и анализа и тестирования. Для меня разработка это полный цикл а не только удобное написание строчек кода.
Вот вам пример про хорошо спроектированную программу. Редактор кода внутри AX2012 - это компонент Visual Studio. Разработчики VS не знали, что редактор планируют вставить куда-то еще и никак не дорабатывали его для Ax2012. Но кусок одной программы оказалось можно вставить в другую программу, при помощи расширений обучить возможностям другого языка и теперь, если вам нужно подсветку парных скобочек или свертывание и развертывание тела if - вы можете просто
взять готовое расширение (по ссылке фактически скомпилированные стандартные примеры для VS SDK).
- эти расширения практически не надо тестировать для работы в AX
- разработчики VS знают, что они могут менять без нарушения работы расширений
- вам не надо изучать реализацию редактора VS, а только его интерфейс чтобы его расширить
Я не говорю, что для прикладного кода можно достигнуть совершенно такой же легкости и обратной совместимости, но думаю, можно существенно продвинуться относительно текущего состояния.