Derivación de atributos a partir de la Guía de Estilo Java de Google y su cuantificación mediante métricas
DOI:
https://doi.org/10.24215/15146774e069Palabras clave:
código fuente, medición, métrica, Google Java style guide, herramientaResumen
Habitualmente, en el desarrollo de software intervienen equipos numerosos y descentralizados, lo que representa un desafío para que el software sea fácilmente entendido y mantenido. Esta situación pone de manifiesto la necesidad de codificar programas de software siguiendo guías de estilo para el lenguaje usado, que sean claras y conocidas por los desarrolladores. No obstante, su utilización puede ser compleja, especialmente para desarrolladores juniors o en contextos con plazos ajustados. En este sentido, es importante contar no solo con un enfoque que permita mapear las guías a atributos y estos a sus métricas, sino también con una herramienta que chequee y recomiende mejoras cuando el código no adhiera a dichas guías. Este artículo ejemplifica el uso de un enfoque sistemático que mapea guías de estilo de programación a atributos y a sus métricas que los cuantifican. Además, muestra el empleo de la herramienta JavaStyleInspector para analizar código Java y generar reportes que permitan la mejora rápida del código en favor de cumplir con la Google Java Style Guide. Su uso puede influir positivamente tanto en la enseñanza de las guías de estilo en carreras relacionadas a informática como en el trabajo diario de un profesional de la industria de software.
Descargas
Citas
Somerville, I.: Ingeniería de software. 6ta Edición. Addison Wesley Publishers, (2002)
Pressman, R. S.: Ingeniería del software. Un enfoque práctico. 7ma Edición. Mc Graw Hill Educación, (2010)
ISO/IEC 9126-1: Software Engineering - Software Product Quality - Part 1- Quality Model, Int‟l Org. for Standardization, Geneva, (2001)
ISO/IEC 25010: Systems and Software Engineering– Systems and software product Quality Requirements and Evaluation (SQuaRE)– System and software quality models, (2011)
Avila D., Báez E., Zapata M., López D., Zurita D.: Unreadable Code in Novice Developers. In: Rocha, Á., Adeli, H., Dzemyda, G., Moreira, F., Ramalho Correia, A.M. (eds) Trends and Applications in Information Systems and Technologies. WorldCIST 2021. Advances in Intelligent Systems and Computing, vol 1368. Springer, Cham. https://doi.org/10.1007/978-3-030-72654-6_5, (2021)
Google Java Style Guide, https://google.github.io/styleguide/javaguide.html, último acceso 2025/01/03.
Sosa, D., Papa, M.F., Becker P., Olsina L. Mapeo de Atributos a partir de Guías de Estilo de Programación y Automatización de sus Métricas. In proceedings of ASSE‟24, Argentine Symposium on Software Engineering, Vol: 53 JAIIO, pp. 1-14, Bahia Blanca, Argentina, August 12-16, ISSN: 2451-7593, (2024)
Broekhuis S.: The Importance of Coding Styles within Industries. 35th Twente Student Conference on IT (TScIT 35), pp. 1-8, (2021)
Kernighan, B.W., Plauger, P.J.: The Elements of Programming Style, 1st Edición. McGraw-Hill, New York, (1974)
Sun Microsystems: Java code conventions. https://www.oracle.com/technetwork/java /codeconventions-150003.pdf, último acceso 2024/03/21, (1997)
Reddy, A.: Java™ coding style guide. Sun MicroSystems, (2000)
Guia de desarrollo, https://uniandesdsit.github.io/coding-guidelines/style/ STYLE_GUIDE.html, Universidad de los Andes, Colombia, último acceso 2025/01/03.
Becker, P., Olsina, L., Papa, M.F.: Approach to Improving Java Source Code Considering Non-compliance with a Java Style Guide. In: Pesado, P. (eds) Computer Science – CACIC 2022. CACIC 2022. Communications in Computer and Information Science, vol 1778. Springer, Cham. https://doi.org/10.1007/978-3-031-34147-2_9, (2023).
Documentación de google-java-format, https://github.com/google/google-java-format, último acceso 2025/01/03
Olsina, L.: The Foundational Ontology ThingFO: Architectural Aspects, Concepts, and Applicability. In: Fred, A., Aveiro, D., Dietz, J., Bernardino, J., Masciari, E., Filipe, J. (eds.) Knowledge Discovery, Knowledge Engineering and Knowledge Management. IC3K 2021. Communications in Computer and Information Science, Vol 1718, Springer. Chapter 5, pp. 73–99, (2023).
Olsina, L., Papa, M.F., Becker, P.: NFRsTDO v1.2's Terms, Properties, and Relationships -- A Top-Domain Non-Functional Requirements Ontology, pp. 1–9, https://doi.org/10.48550/arXiv.2302.01096, (2023)
Becker, P., Olsina, L., Papa, M.F.: Especificación de Métricas de Mantenibilidad para Mejorar Código Java: Caso Aplicado en un Curso Avanzado de Ingeniería en Sistemas. Actas del 11vo Congreso Nacional de Ingeniería Informática / Sistemas de Información (CoNaIISI), 2-3 de noviembre, Tucumán, Argentina, pp. 1-15. (2023)
Molina, H., Olsina L. Diseñando la Evaluación de Calidad en Uso de una Herramienta Didáctica para Crear Interfaces Gráficas en JavaTM, In: XV Argentine Symposium on Software Engineering, (ASSE2014), 43 JAIIO, CABA, Argentina, pp. 51-65. (2014).
Descargas
Publicado
Número
Sección
Licencia
Derechos de autor 2025 Dianela Sosa, María Fernanda Papa, Pablo Becker, Luis Olsina

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.
Aquellos autores/as que tengan publicaciones con esta revista, aceptan los términos siguientes:
- Los autores/as conservarán sus derechos de autor y garantizarán a la revista el derecho de primera publicación de su obra, el cuál estará simultáneamente sujeto a la Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) que permite a terceros compartir la obra siempre que se indique su autor y su primera publicación esta revista, no hagan uso comercial de ella y las obras derivadas de hagan bajo la misma licencia.
- Los autores/as podrán adoptar otros acuerdos de licencia no exclusiva de distribución de la versión de la obra publicada (p. ej.: depositarla en un archivo telemático institucional o publicarla en un volumen monográfico) siempre que se indique la publicación inicial en esta revista.
- Se permite y recomienda a los autores/as difundir su obra a través de Internet (p. ej.: en archivos telemáticos institucionales o en su página web) antes y durante el proceso de envío, lo cual puede producir intercambios interesantes y aumentar las citas de la obra publicada. (Véase El efecto del acceso abierto).