Tal vez cuando leísteis FileOptimizer y la comunidad, tuvierais la impresión de que el desarrollo de File Optimizer, quedaría abandonado. No es en absoluto el caso, y sigue estando en una fase de desarrollo plenamente activo.

FileOptimizer, continúa evolucionando, y la prueba es la reciente versión 11, lanzada con importantes cambios y mejoras.



Para que os podáis hacer una idea, he tomado como base FileOptimizer 6.80, de abril de 2014, y que es la versión más antigua de código fuente que conservo en el repositorio, correspondiente a la r2. La he comparado con FileOptimizer 11.00 de septiembre de 2017, o sea 3 años y medio después.

Procedamos a comparar su código fuente. Excluyendo archivos de proyecto, instalador, ayuda, ni los PHP de soporte web, obtenemos que ha pasado de un total de 5.988 lineas de código en 2014, a 8.532 en 2017, un incremento que supone un 42%. Como guía, equivalen a unas 130 páginas A4 mecanografiadas en espacio sencillo.

Lineas de código (LOC)

ArchivoFileOptimizer 6.80FileOptimizer 11.00
FileOptimizer.cpp93121
FileOptimizerPCH1.h824
Source\clsUtil.cpp7901.158
Source\clsUtil.h6582
Source\cppAbout.cpp136110
Source\cppAbout.h3333
Source\cppAbout.dfm742380
Source\cppMain.cpp1.7523.413
Source\cppMain.h197312
Source\cppMain.dfm1.0701.184
Source\cppOptions.cpp254393
Source\cppOptions.h74127
Source\cppOptions.dfm7741.206
TOTAL5.9888.532 (+43%)



En cuanto al peso del código fuente, obtenemos unos datos similares. 247.909 bytes en 2014, por 324.933 de 2017. Esto es, un aumento de un 31%.

Tamaño del código fuente (bytes)

ArchivoFileOptimizer 6.80FileOptimizer 11.00
FileOptimizer.cpp3.0205.007
FileOptimizerPCH1.h229635
Source\clsUtil.cpp25.54539.332
Source\clsUtil.h4.1035.635
Source\cppAbout.cpp3.5083.786
Source\cppAbout.h1.2641.248
Source\cppAbout.dfm45.88820.140
Source\cppMain.cpp61.136129.360
Source\cppMain.h8.50613.945
Source\cppMain.dfm55.24754.364
Source\cppOptions.cpp7.06413.498
Source\cppOptions.h2.3283.935
Source\cppOptions.dfm30.07134.048
TOTAL247.909324.933 (+31%)



Resulta curioso, que si analizamos únicamente el exterior, lo que se ve, puede que no tengamos esa misma percepción, pues el tamaño de los ejecutables, se ha reducido en estos 3 años. Ello se debe en primer lugar, a la eliminación de la interfaz por cinta de opciones o Ribbon que era exageradamente pesada. Pero también a las mejoras que suponen que C++ Builder, pueda compilar con un backend basado en CLang en vez de BCC.

No debemos olvidar el esfuerzo continuado en cuanto a limpieza, optimización y reutilización de código, que versión tras versión, va sufriendo FileOptimizer por mi parte.

Tamaño de los ejecutables (bytes)

FileOptimizer 6.80FileOptimizer 11.00
Tamaño ejecutable x86 (bytes) -FileOptimizer32.exe-4.550.6564.317.184 (-5%)
Tamaño ejecutable x64 (bytes) -FileOptimizer64.exe-9.024.0007.936.512 (-12%)



De este modo, puedo sentirme orgulloso. Versión tras versión, FileOptimizer añade más funciones, más capacidades, mayores prestaciones. Pero a diferencia de lo que ocurre en el resto del software, el peso, y la ligereza se mantienen a ralla.

Un proyecto estimado en 3 años/hombre de esfuerzo, llevado a cabo en 5 años naturales, representa también un buen indicador de productividad. Por otro lado, seguir en activo tras ese tiempo, nos demuestra no solamente que sigue siendo útil a día de hoy, y que aún no tiene digno rival, sino que su código fuente, es mantenible y de calidad.