Conversión de código, par a par
C# a PL/SQL
La misma rutina, escrita a mano en C# y en PL/SQL. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.
Antes · C#
public static decimal Interest(decimal balance, decimal rate)
=> Math.Round(balance * rate, 2, MidpointRounding.AwayFromZero);En qué se convierte · PL/SQL
CREATE OR REPLACE FUNCTION interest(
p_balance NUMBER, p_rate NUMBER
) RETURN NUMBER IS
BEGIN
RETURN ROUND(p_balance * p_rate, 2);
END;Abajo tiene una rutina en los dos lenguajes. Sobre un sistema real el mismo movimiento corre por el árbol entero de una vez: la plataforma lee en paralelo todos los lenguajes que haya dentro, construye el grafo de dependencias y un ingeniero traza las fronteras. Un millón de líneas es el tamaño normal de ese trabajo, y termina dentro de treinta días.
Cómo se ve esto en su sistema entero
Sobre su código real ese mismo movimiento responde a lo que un par de ficheros no alcanza: qué ficheros ya no llama nadie, qué proceso batch escribe el registro que otro lee a las 02:00 y si la versión reescrita sigue dando las cifras que sus auditores vieron el mes pasado. La auditoría vuelve con las tres respuestas en tres a cinco días.