¿Consejos para codificar usando herramientas hostiles? [cerrado]

Estoy desarrollando una aplicación usando las herramientas incorrectas. No deseo entrar en lo correcto o incorrecto de esto: la plataforma ha sido bendecida como Estratégica y nada va a cambiar eso ahora. Pero espero que alguien pueda darme algunos consejos sobre cómo sacar lo mejor de la situación.

Usamos un lenguaje del lado del servidor, llamémoslo X, y HTML / JS / CSS del lado del cliente (en IE6). X es primitivo desde el punto de vista del desarrollo de aplicaciones (pero excelente para el procesamiento de datos, por eso lo estamos usando); Ni siquiera tiene el concepto de funciones definidas por el usuario, por lo que tratar de hacer que la aplicación sea modular de alguna manera es un desafío. Piense en decenas de miles de líneas de sentencias anidadas if / then / else.

Mi suposición actual es que no será posible reducir el factor espagueti del código, y esa documentación realmente excelente es mi única arma contra esta posibilidad de convertirse en una pesadilla totalmente insoportable que termina en TheDailyWTF.

alguien tiene otras ideas?

(No menciono qué lenguaje X es simplemente porque espero respuestas al problema general de trabajar con herramientas deficientes, no tácticas particulares para X.)

Editar:

Ok, para los morbosamente curiosos, X es SAS. No quería que la pregunta se centrara en si las macros de estilo de función son funciones (no lo son, y no pueden implementar patrones de diseño), o culparlo, dadas las limitaciones de este proyecto en particular, en realidad estoy de acuerdo con la decisión de usar ¡eso! También estoy seguro de que la mayoría del software se desarrolla en entornos increíblemente no óptimos (herramientas rotas, mala gestión, carga heredada agobiante, etc.), y que debe haber estrategias para que las cosas funcionen aún así.

Respuestas a la pregunta(7)

Su respuesta a la pregunta