CodeSOD: Copia de una copia de... Nota

CodeSOD: Copia de una copia de un

Jessica está trabajando en una aplicación de Windows Forms heredada que utiliza una API antigua. Se le asignó la tarea de investigar un informe con un rendimiento pobre. La base de código se describe como código espagueti con muchas ineficiencias. Jessica descubrió un método llamado GetReportDiscounts que ejecuta una consulta SQL, pero paradójicamente realiza una suma en C# que ya está presente en la consulta SQL. Este método también ignora sus propios parámetros de fecha y utiliza un número mágico para filtrar. Otro método, GetReportTotals, es casi idéntico pero utiliza un número mágico diferente. Ambos métodos se derivan de un método anterior, GetCancelledInvoices, que utiliza correctamente los parámetros de fecha. Sin embargo, GetCancelledInvoices también realiza filtrado en C# en lugar de en la consulta de la base de datos. Jessica encontró que el informe problemático real era una variación de estos métodos, que confía en el procesamiento del lado del cliente para la manipulación de datos. Al refactorizar este informe en un procedimiento almacenado de SQL con índices adecuados, el rendimiento mejoró significativamente. El artículo destaca el problema común de copiar y pegar código y realizar operaciones de base de datos de manera ineficiente dentro de la capa de aplicación.