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)

Archivo FileOptimizer 6.80 FileOptimizer 11.00
FileOptimizer.cpp 93 121
FileOptimizerPCH1.h 8 24
Source\clsUtil.cpp 790 1.158
Source\clsUtil.h 65 82
Source\cppAbout.cpp 136 110
Source\cppAbout.h 33 33
Source\cppAbout.dfm 742 380
Source\cppMain.cpp 1.752 3.413
Source\cppMain.h 197 312
Source\cppMain.dfm 1.070 1.184
Source\cppOptions.cpp 254 393
Source\cppOptions.h 74 127
Source\cppOptions.dfm 774 1.206
TOTAL 5.988 8.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)

Archivo FileOptimizer 6.80 FileOptimizer 11.00
FileOptimizer.cpp 3.020 5.007
FileOptimizerPCH1.h 229 635
Source\clsUtil.cpp 25.545 39.332
Source\clsUtil.h 4.103 5.635
Source\cppAbout.cpp 3.508 3.786
Source\cppAbout.h 1.264 1.248
Source\cppAbout.dfm 45.888 20.140
Source\cppMain.cpp 61.136 129.360
Source\cppMain.h 8.506 13.945
Source\cppMain.dfm 55.247 54.364
Source\cppOptions.cpp 7.064 13.498
Source\cppOptions.h 2.328 3.935
Source\cppOptions.dfm 30.071 34.048
TOTAL 247.909 324.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.80 FileOptimizer 11.00
Tamaño ejecutable x86 (bytes) -FileOptimizer32.exe- 4.550.656 4.317.184 (-5%)
Tamaño ejecutable x64 (bytes) -FileOptimizer64.exe- 9.024.000 7.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.