protocolos

propósito

  • mantener relación de los protocolos establecidos.
  • organizarlo de forma que este el nombre del protocolo
    • luego donde se establece o si es general

GIT

ámbito del protocolo

  • proyecto PADDOC

descripción

  • según el documento en el mismo proyecto H:\ecinform\Aplicaciones\Paddoc\Varios\GIT\doc\GIT - Paddoc.doc

retorno de una función

ámbito del protocolo

  • general

descripción

  • el valor 0 en el retorno de una función o programa significa ejecución sin error
  • cualquier otro valor significa error

alias de tablas

ámbito del protocolo

  • general

descripción

  • usar siempre los mismos alias de las tablas en aplicacion
  • algunos generales par todas las aplicaciones
  • otros solo de esa aplicación
  • ejemplo de unión de las tablas más usadas
  • mejora el rendimiento de la aplicación en general y es más facil de recordar

nombre de tablas copia

ámbito del protocolo

  • proyecto PADDOC

descripción

  • los nombre para tablas temporales
    • cambiar los seis primeros dígitos del nombre de la tabla, por ejemplo EPLST_, por la fecha con formato YYMMDD
    • No permite nombres de tablas que comiencen por números.
    • usar ZYMMDD para que queden al final
    • ejemplo Z70726LISTA_BLOQUE

procedimientos y funciones PL-SQL

ámbito del protocolo

  • proyecto PADDOC

descripción

  • mantener esta estructura de objeto
-----------------------------------------------------------------------------
-- Función encargada de verificar la adjudicación de un acto de elección. Devuelve el número de incidencias
-----------------------------------------------------------------------------
-- nombre propios en minuscula
-- nombre de procedures, paquete y funciones en mayuscula
    FUNCTION F_VERIFICAR_ADJUDICACION
    (
        p_id_curso EPACT_ACTO.ACT_ID_CURSO%TYPE,  -- los parametros con p_
        p_id_acto EPACT_ACTO.ACT_ID_ACTO%TYPE
    )
    RETURN NUMBER IS
     --- inicio: estas variables al principio
     --- las variables con v_
        v_funcion_error VARCHAR2 (30) := 'F_VERIFICAR_ADJUDICACION'; -- el nombre de la función para el tratamiento de errores
        v_mensaje_error VARCHAR2(4000); -- las variables con v_
        v_exception EXCEPTION; -- esta es una excepcion que se lanza y no se captura por lo que se puede usar para salir
     --- fin: estas variables al principio
     
        v_num_incidencias NUMBER;
       
    BEGIN

     SELECT DISTINCT CUR.ACT_ID ID_CURSO, CUR.ACT_DESCRIPCION DESC_CURSO,
                ACT.ACT_ID_ACTO, ACT.ACT_DESCRIPCION,
                ETA.DTM_ID ID_ETAPA, ETA.DTM_DESCRIPCION DESC_ETAPA,
                ACT.ACT_FECHA_CREACION, ACT.ACT_FECHA_INI_SOLICITUDES, ACT_FECHA_FIN_SOLICITUDES, ACT.ACT_FECHA_POSESION,
                FAS.ACT_ID ID_FASE, FAS.ACT_DESCRIPCION DESC_FASE,
                TIP.ACT_ID ID_TIPO, TIP.ACT_DESCRIPCION DESC_TIPO
            FROM EPACT_ACTO ACT, EPACT_MAE_CURSO CUR, EPACT_MAE_ACTO_TIPO TIP, EPACT_MAE_ACTO_FASE FAS, EPDTM_ETAPA ETA
            WHERE ACT.ACT_ID_CURSO = CUR.ACT_ID  -- las condiciones de unión de tablas al principio
            AND ACT.ACT_ID_TIPO = TIP.ACT_ID
            AND ACT.ACT_ID_FASE = FAS.ACT_ID
            AND ACT.ACT_ID_ETAPA = ETA.DTM_ID 
            AND ACT.ACT_ID_CURSO = p_id_curso --- las condiciones de la lógica al final para leerlas mejor
            AND ACT.ACT_ID_ACTO = p_id_acto;
    
  EXCEPTION
    WHEN OTHERS THEN
        ROLLBACK;
        v_mensaje_error := 'OTHERS EXCEPTION: ' || SQLERRM;
        EPACT_PCK_AUDITORIA.P_GRABAR_ERROR($$PLSQL_UNIT, v_funcion_error, v_mensaje_error);
        RETURN EPACT_PCK_CTS.V_OTHERS;
        
  END F_AGNADIR_ACTO;

campos cortos centrados

ámbito del protocolo

  • proyecto PADDOC

descripción

  • los campos como Fecha desde y Fecha hasta y en general los campos cortos ponerlos centrados en las páginas jsp

documentar directorios

ámbito del protocolo

  • personal

descripción

  • para poder tener información del directorio, del propósito con el que se crea, índice del contenido y el archivo README.md tradicional en el caso de llevar un control de versiones del contenido de ese directorio ya sea porque es un proyecto o como directorio de propósito general
  • atención al encoding que tiene que ser utf8

directorio.md

  • la información del directorio
    • que es
    • para que se ha creado
    • el índice del mismo ordenado alfabéticamente
  • si hay un control de versiones de ese directorio o información sobre la forma de usar el proyecto el enlace al archivo README.md

ejemplo directorio sin control de versiones

# directorio `C:\proyectos`

* los proyectos que uso y en los que estoy trabajando

## índice del directorio

* [directorio padre](..\directorio.md)
* [`eclipse`](\eclipse\directorio.md)
* [`java`](\java\directorio.md)
* [`jekyll`](\jekyll\directorio.md)
* [`paddoc`](\paddoc\directorio.md)
* [`probandoGit`](\probandoGit\directorio.md)
* [`sincronizar`](\sincronizar\directorio.md)
* [`struts`](\struts\directorio.md)

ejemplo directorio con control de versiones

# directorio `C:\proyectos\paddoc\aplicacionbase`

* para tener una aplicación básica con la estructura usada en el departamento.
* `Use it at your own risk!`

## índice del directorio

* [directorio padre](..\directorio.md)

## información del proyecto

* [README.md](README.md)

README.md

  • cada directorio sobre el que se lleva un control de versiones tiene un archivo README.md.
    • el nombre del archivo en mayúsculas para darle importancia al mensaje
    • la extensión del archivo en minúsculas
  • este archivo explica el contenido y propósito de ese directorio con esta estructura de entradas en este orden
    • tiene una entrada para la configuración si existe
    • forma de lanzar el proyecto
    • requisitos

ejemplo de README.md

# `aplicacionbase`

* para tener una aplicación básica con la estructura usada en el departamento.
* `Use it at your own risk!`

## repositorio

* [bitbucket](https://bitbucket.org/javieriranzo3/aplicacionbase)

## configuración en Windows10

* ....

## changelog

* los cambios en este proyecto los puedes consultar en este [archivo de cambios](CHANGELOG.md)

plantillas

  • la más interesante por explorar
    • aunque se le puede añadir el control de cambios

útiles

  • por completar
(echo # directorio `C:\accesos`
echo.
echo * directorio creado para
echo.
echo ## índice del directorio
echo.
echo * [índice]indice.md
echo.
echo ## configuración
echo.
echo * el proyecto se lanza con  ) > README.md
echo # índice del directorio c:\accesos > indice.md

dir /AD /ON /B >> indice.md
  • para luego tratarlo en visual studio code

CHANGELOG.md

ámbito del protocolo

  • proyectos personales

descripción

control de versiones

ámbito del protocolo

  • proyectos personales

descripción

  • llevar un control de versiones siguiendo el patrón de control de versiones semántico de SemVer