Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:sourcecodeanalyzer

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:sourcecodeanalyzer [2021/11/16 16:48]
administraidor
ada:howto:sicoferp:factory:sourcecodeanalyzer [2023/11/06 18:54] (actual)
192.168.177.82 [Reportes]
Línea 1: Línea 1:
 ====== Fábrica - Análisis de Código Fuente ​ ====== ====== Fábrica - Análisis de Código Fuente ​ ======
-Esta sección ​esta dedicada a la definición del proceso de análisis de código fuente que se debe implementar en los proyectos de las aplicaciones de la compañía. Para realizar este proceso se ha elegido la tecnologiá ​Sonar la cual se divide en los siguientes componentes:​+Esta sección ​está dedicada a la definición del proceso de análisis de código fuente que se debe implementar en los proyectos de las aplicaciones de la compañía. Para realizar este proceso se ha elegido la tecnología ​Sonar la cual se divide en los siguientes componentes:​
  
-===== SonarQube ===== +  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalyzer:sonarqube|SonarQube®]] 
-SonarQube® es una herramienta de revisión automática de código para detectar errores, vulnerabilidades y olores de código en su código. Puede integrarse con su flujo de trabajo existente para permitir la inspección continua del código en las ramas de su proyecto y solicitudes de extracción.((https://docs.sonarqube.org/​latest/​))+  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalyzer:​sonarlint|SonarLint®]]
  
-===== SonarLint ​===== +===== Reportes ​=====
-SonarLint® es una extensión IDE gratuita y de código abierto que identifica y le ayuda a solucionar problemas de calidad y seguridad mientras codifica. Como un corrector ortográfico,​ SonarLint garabatea fallas y proporciona comentarios en tiempo real y una guía clara de corrección para entregar un código limpio desde el principio.((https://​www.sonarlint.org/​))+
  
-===== Integrar SonarQube/​SonarLint en los proyectos ​de la fábrica =====+  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalyzer:​reportanalyze|Análisis realizados]] 
 +  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalyzer:​userscreation|Crear usuarios]] 
 +  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalyzer:​proyectscreation|Crear ​proyectos]]  
 +  * [[ada:​howto:​sicoferp:​factory:​sourcecodeanalysis:​Performanalyzer|Realizar análisis]] ​
  
-==== Consideraciones previas ====+[[ada:​howto:​sicoferp:​factory|←Volver atrás]]
  
-  * En el alcance inicial solo se soporta el lenguaje java +[[ada:​howto:​sicoferp:​factory:​goodsoftwaredevelopmentpractices|-Ir Buenas prácticas ​de desarrollo ​de software]]
-  * Solo se soportan los gestores de dependencias Maven((https://​maven.apache.org/​)),​ Gradle((https://​gradle.org/​)) +
-  * Antes de subir un análisis al servidor SonarQube debe existir el proyecto. Este debe ser solicitado al administrador carlos.torres. +
- +
-=== Nota === +
-La configuración de la integración SonarQube/​SonarLint se realizará en entorno window 10 con maven 3.x +
- +
-==== Configuración Global del repositorio ==== +
-Lo primero que se debe hacer es ir a las configuraciones globales del gestor de dependencias en el usuario en sesión del sistema operativo. En el caso de window esta ruta por lo general se encuentra en C:​\Users\Usuario\.m2\wrapper\dists\apache-maven[Versión Maven instalada]\[directorio hash del empequetado]\apache-maven-[Versión maven instalada]\conf\**settings.xml**. El archivo que debemos ubicar es el archivo **settings.xml** y en el debemos realziar la siguiente configuración:​ +
- +
-=== Sección pluginGroups === +
-Ubique la sección pluginGroups y copie el siguiente texto como se muestra en el siguiente código de ejemplo +
- +
-<code xml> +
-<​pluginGroups>​ +
-    <!-- pluginGroup +
-     | Specifies a further group identifier to use for plugin lookup. +
-    <​pluginGroup>​com.your.plugins</​pluginGroup>​ +
-    --> +
- <​pluginGroup>​org.sonarsource.scanner.maven</​pluginGroup>​ +
-  </​pluginGroups>​ +
-</​code>​ +
- +
-== Nota == +
-Si existen más plugins registrado agregue la linea **<​pluginGroup>​org.sonarsource.scanner.maven</​pluginGroup>​** antes del final de la sección **</​pluginGroups>​** +
- +
-=== Sección profiles === +
-Ubique la sección **profiles** y al final copie el siguiente perfil como se muestra en el siguiente código de ejemplo +
- +
-<code xml> +
-<​profile>​ +
-  <​id>​sonar</​id>​ +
-  <​activation>​ +
-    <​activeByDefault>​true</​activeByDefault>​ +
-  </​activation>​ +
-  <​properties>​ +
-  <!-- Optional URL to server. Default value is http://​localhost:​9000 --> +
-    <​sonar.host.url>​ +
-      http://​10.1.40.171:​9000 +
-    </​sonar.host.url>​ +
-  </​properties>​ +
-</​profile>​ +
-</​code> ​        +
- +
-Para finalizar guarde el archivo((En algunas configuraciones solicitará usuario administrador)) y con eso ya estará configurado el maven para lanzar análisis en el servidor SonarQube. +
- +
-==== Instalar SonarLint en el IDE ==== +
-Se asume que el usuario tiene el IDE Eclipse o Spring Tools Suite. Para instalar el SonarLint siga los siguientes pasos: +
- +
-  - Abrir el IDE +
-  - Seleccionar el workspace del proyecto que se analizará +
-  - Ir al menu **Help->​Eclipse MarketPlace** +
-  - Ingresar en el campo **Find** el texto //​sonarlint//,​ aparece en el listado una final con el nombre **SonarLint 7.1** o posterior +
-  - Click en el boton **Install** +
- +
-Siga los pasos de instalación del asistente y al finalizar reinicie el IDE, al volver a iniciar el IDE al dar click derecho sobre la raíz de cualquier proyecto saldrá un nuevo menu **SonarLint** lo cuál indica que el proceso se realizó correctamente. +
- +
-==== Lanzar un análisis de código fuente ==== +
- +
- +
-===== Estructuras de Código Fuente ===== +
-La siguientes estructuras de código fuente que deben ser documentadas:​ +
- +
-  * Clases +
-  * Métodos de Clases +
-  * Ventanas +
-  * Funciones y Eventos de Ventanas +
-  * Formularios y Vista Web (html) +
-  * Paquetes de base de datos +
-  * Funciones y Procedimientos de bases de datos +
- +
-===== Tipos de documentación ===== +
-Se definen los siguientes tipos de documentación:​ +
- +
-  * **Interna**:​ Utilizada en el código fuente de las aplicaciones de la compañia. Ver [[#​Estructuras de Código Fuente|Estructuras de Código Fuente]]. Esta documentación se caracteriza porque está interna en el código fuente y puede ser consultada directamente consultando las estructuras de código o utilizando una aplicación de generación de documentación técnica según el lenguaje de documentación. +
-  * **Externa**:​ Utilizada en el código fuente de las aplicaciones de la compañia del proceso de migración. Esta documentación es generada complementaria a la documentación interna. Este proceso ya esta definido en la siguiente sección: ​[[ada:​howto:​sicoferp:​factory:​migracionsicoferp:​process:​backend:​guiadocmicroservicios|Documentación Externa de Microservicios]] +
- +
-===== Estructura de documentación ===== +
- +
-==== Plantilla Base ==== +
-A continuación se define la Plantilla Base de documentación que debe ser implementada en las [[#​Estructuras de Código Fuente|Estructuras de Código Fuente]] de las aplicaciones de la compañía +
- +
-<code java> +
-/** +
- +
-Título +
- +
-Descripción +
- +
-Retorno +
- +
-Argumentos +
- +
-Modo de Uso +
- +
-Autor +
- +
-Fecha +
- +
-Deprecated +
- +
-Throws +
- +
-Revision History +
- +
-Copyright Año ADA, Inc. All rights reserved. +
-*/ +
-</​code>​ +
- +
-=== Consideraciones === +
- +
-  * Los nombres de los campos pueden variar según el lenguaje de programación. +
- +
-==== Definición de Columnas ==== +
- +
-=== Título === +
-Nombre de la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] que se documentará. +
- +
-=== Descripción === +
-Describe el objetivo de la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]]. Esta descripción debe ser clara y concisa. +
- +
-=== Retorno === +
-Describe el valor o valores de salida de un método. No aplica para definiciones de clases. +
- +
-=== Argumentos === +
-Describe los parámetros de un método. +
- +
-=== Modo de Uso === +
-Este campo se utiliza para presentar un ejemplo de la forma de invocar o ejecutar la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]]. +
- +
-=== Autor === +
-Indica quién escribió la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] que se refiere el comentario. Si son varias personas se escriben los nombres separados por comas. El nombre del autor debe ser escrito según el correo del usuario de la compañía con la siguiente plantilla:​ +
- +
-**nombre.apellido@ada.co** Ejemplo: carlos.torres@ada.co el cual es otorgado al empleado al ingresar.  +
- +
-Si es un autor externo se debe registrar el nombre completo más el correo personal. +
- +
-**Nombres Apellidos, correo@empresa.com** Ejemplo: Pepe Perez, pepe.perez@gmail.com +
- +
-=== Fecha === +
-Este campo registra la fecha inicial de creación de la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] +
- +
-=== Deprecated === +
-Indica que la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] es antigua y que no se recomienda su uso porque posiblemente desaparecerá en versiones posteriores o será reemplazada. +
- +
-=== Throws === +
-Sólo aplica para métodos. Describe las excepciones que pueden ser lanzadas por el método. +
- +
-=== Revision History === +
-Esta sección de documentación es utilizada para registrar las evoluciones de la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]]. Las evoluciones de código fuente se debe registrar con la siguiente plantilla:​ +
- +
-Número de Revisión - Autor evolución - Fecha : Descripción - Autor revision par - Fecha revison par +
- +
-Ejemplo: +
- +
-1.0 - carlos.torres@ada.co - 27/07/2021 08:39:40 : Initial version. - edixson.matos@ada.co - 27/07/2021 14:00:05 +
- +
-=== Copyright [Año] ADA, Inc. All rights reserved === +
-Este campo se utiliza para registrar los derechos reservados de la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] se debe diligenciar la columna **Año** según la vigencia de creación. +
- +
- +
-==== Alcance de la plantilla ==== +
-A continuación se presenta una matriz de alcance de la plantilla base de documentación según la [[#​Estructuras de Código Fuente|Estructura de Código Fuente]] +
- +
-| ^Clase ^Método Clase ^Ventana ^Evento/​Función Ventana ^Formulario/​Vista Web ^Paquete DB ^Funcion/​Procedure DB ^ +
-^Título|X |X |X |X |X |X |X | +
-^Descripción|X |X |X |X |X |X |X | +
-^Retorno| |X | |X | | |X | +
-^Argumentos| |X | |X | | |X | +
-^Modo de Uso|X |X |X |X |X |X |X | +
-^Autor|X |X |X |X |X |X |X | +
-^Fecha|X |X |X |X |X |X |X | +
-^Deprecated|X |X |X |X |X |X |X | +
-^Throws| |X | |X | | |X | +
-^Revision History|X |X |X |X |X |X |X | +
-^Copyright|X |X |X |X |X |X |X | +
- +
-===== Herramientas para generar documentación interna =====  +
-Según el lenguaje de programación se definen algunas de las herramientas que ayudan ​simplificar la generación ​de la documentación del código fuente: +
- +
-^Lenguaje ^Herramienta ​de Generación de Plantilla ^Herramienta para generación de Reporte de Docuentación Técnica ^ +
-|Java|[[https://​www.oracle.com/​co/​technical-resources/​articles/​java/​javadoc-tool.html|Javadoc]] |[[https://​www.oracle.com/​co/​technical-resources/​articles/​java/​javadoc-tool.html|Javadoc]] | +
-|Powerbuilder|[[https://​www.autohotkey.com/​|Autohotkey]] |[[http://​www.pbdr.com/​software/​pbdoc.htm|PBDoc]] | +
-|Base de Datos|[[https://​www.autohotkey.com/​|Autohotkey]] |Manual| +
- +
-[[ada:​howto:​sicoferp:​factory|←Volver atras]]+
  
  
ada/howto/sicoferp/factory/sourcecodeanalyzer.1637081327.txt.gz · Última modificación: 2021/11/16 16:48 por administraidor