[[TOC(heading=This section pages, WikiStart, ModeladoTopicos_2017/sistematizacion, noheading, ModeladoTopicos_2017/sistematizacion/AnalisisDominio, ModeladoTopicos_2017/sistematizacion/PropuestaDesarrollo, ModeladoTopicos_2017/sistematizacion/PlanProyecto, ModeladoTopicos_2017/sistematizacion/EstandaresDesarrollo, ModeladoTopicos_2017/sistematizacion/EspecificacionRequerimiento, ModeladoTopicos_2017/sistematizacion/Codificacion, ModeladoTopicos_2017/sistematizacion/AnalisisyDiseno, ModeladoTopicos_2017/sistematizacion/Pruebas, ModeladoTopicos_2017/sistematizacion/Liberacion, heading=Tabla de Contenido)]]
= Estándares de Desarrollo del Proyecto =
Los estándares de desarrollo constituyen las normas o patrones de referencia que se deben implementar en el desarrollo de aplicaciones de software. Entre los estándares de desarrollo más comunes se encuentran: normas de codificación, normas y esquemas de seguridad, estándares de interfaz u/s, entre otros.
== Normas de Codificación ==
=== En la cabecera de los archivos ===
Todos los archivos que se piensen implementar en el sistema debe contener un encabezado al principio como este:
{{{
# -*- coding: utf-8 -*-
"""
Sistema de Modelado de Tópicos
Copyleft (@) 2014 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/
"""
## @package django_topic_explorer.utils
#
# Métodos utilizados para realizar el pre-procesamiento
# @author Jorge Redondo (jredondo at cenditel.gob.ve)
# @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
# (CENDITEL) nodo Mérida - Venezuela
# @copyright GNU Public License versión 2 (GPLv2)
# @version 1.3
}}}
* Donde el '''@package''' debe especificar la ruta del archivo
* Seguido de la descripción del archivo en cuestión
* '''@author''' donde se especificara el autor o autores (uno por linea)
* '''@copyright''' con un enlace a las licencias de autor
* '''@version''' con la versión del software
=== En las clases ===
La codificación de las clases se debe tener la siguiente estructura
{{{
"""!
Clase que permite la visualización de un archivo en particular
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU Public License versión 2 (GPLv2)
@date 31-07-2015
"""
}}}
* Donde el la primera linea luego del inicio del comentario (""!) debe contener la descripción de la clase
* '''@author''' sigue la misma estructura que en el encabezado
* '''@copyright''' con el enlace a la licencia
* '''@date''' con la fecha en la que se creó la clase
=== En los métodos y funciones ===
{{{
"""!
Metodo que permite procesar las peticiones por get, con el fin de mostrar el documento
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 31-07-2015
@param self {object} Objeto que instancia el método
@return Retorna el render de la vista
"""
}}}
* Donde luego del inicio del comentario ("""!) se describe el método o función
* '''@author''' contiene el autor o autores
* '''@copyright''' contiene el nombre de la licencia
* '''@date''' con la fecha en la que se realizó el método/función
* '''@param''' es opcional, sólo se utiliza si la función/método recibe parámetros, en cuyo caso seguido a @param se coloca el nombre del parámetro y luego el tipo encerrado en {}>/b>
* '''@return''' es opcional, se especifica que retorna el método o función, en caso de que retorne algo