Я разрабатываю приложение, используя неправильные инструменты. Я не хочу вдаваться в права или заблуждения этого - платформа была благословлена как Стратегия, и сейчас ничего не изменится. Но я надеюсь, что кто-то может дать мне несколько советов о том, как сделать все возможное.
Мы используем серверный язык, позволим ему X и клиентский HTML/JS/CSS (на IE6). X является примитивным с точки зрения разработки приложений (но отлично подходит для обработки данных, поэтому мы его используем); у него даже нет концепции пользовательских функций, поэтому попытка сделать модульное приложение каким-либо образом является проблемой. Подумайте десятки тысяч строк вложенных операторов if/then/else.
Мое нынешнее предположение заключается в том, что сокращение спагетти-фактора кода будет невозможно, и что действительно отличная документация - это мое единственное оружие против этого, что становится абсолютно неподъемным кошмаром, который заканчивается на TheDailyWTF.
У кого-нибудь есть другие идеи?
(Я не упоминаю, какой язык X просто потому, что я надеюсь получить ответы на общую проблему работы с несовершенными инструментами, а не на какую-то особую тактику для X.)
Edit:
Хорошо, для странно любопытных X - это SAS. Я не хотел, чтобы вопрос фокусировался на том, являются ли функциональные макросы функциями (они не являются и не могут реализовывать шаблоны проектирования), или винить его - учитывая ограничения этого конкретного проекта, я фактически согласен с решением использовать Это! Я также уверен, что большая часть программного обеспечения разрабатывается в невероятно неоптимальных средах (сломанные инструменты, плохое управление, владение устаревшим бременем и т.д.) И что должны быть стратегии для того, чтобы все это работало.