Programación por Chequeo
DOI:
https://doi.org/10.62876/tekhn.v1i11.2638Resumen
La programación orientada a objetos (POO) ha
supuesto un avance importante en la ingeniería del
software pero a medida que los sistemas se han
hecho aun más complejos se ha identificado la necesidad
realizar una separación de competencias
(es decir, extraer de los métodos toda competencia
que no les sea inherente), muy en especial las competencias
de control de errores. La programación
orientada a aspectos (POA) trata de conseguir esto
pero es excesivamente compleja.
A este problema es al que se le busca dar solución,
definiendo un enfoque de programación alternativo
basado en la POO que permita la separación
del control de errores y de la funcionalidad básica
de los métodos al que se le a denominado “Programación
por Chequeo” (PPCH); para dar soporte a
las construcciones del nuevo enfoque se define una
extensión al lenguaje de programación C#, una posible
forma de implementarlas en C# estándar y se
realiza la implementación parcial de un compilador
que acepta estas nuevas construcciones.
Debido a la naturaleza y objetivos de este
trabajo, este se define como un proyecto de I+D
(investigación y desarrollo) en los que se requiere
utilizar metodologías iterativas e incrementales. El
desarrollo se dividió en dos grandes etapas: definición
del nuevo enfoque e implementación de las
nuevas construcciones; en la primera se emplea una
adaptación al modelo en espiral y en la segunda
prototipado evolutivo.
Como resultado se ha añadido doce nuevas palabras
reservadas y tres nuevas palabras contextuales
al lenguaje de programación C# que dan soporte al
nuevo enfoque, en contraste a las más de 30 palabras
que añade el lenguaje de aspecto AspectJ a su
lenguaje base; también se ha mostrado en un caso
de estudio que de haber realizado la separación de
competencias se habría ahorrado al menos el 18,25
% del código del sistema (en algunas partes de este
el ahorro alcanza el 36,19 % del código).