Está en la página 1de 8

2

0
1
9

Estándar de
programación
Backend

EQUIPO DE DESARRLLO BACKEND

ASESORES Y CONSULTORES S.A


ESTÁNDAR DE PROGRAMACIÓN BACKEND

Nombre del documento Estándar de programación - Backend


Versión V1.0
Fecha 26-03-2019
Autores Equipo de Desarrollo Backend
Gerente de Área Henry Gutiérrez Saona

HISTORIA DE APROBACIONES

APROBACIONES

Nombre Titulo Fecha Firma


Rubén Barrantes CEO
Henry Gutiérrez Saona CIO

REVISORES

Nombre Titulo Fecha Sección Revisada


Rubén Barrantes CFO Financieras
Henry Gutiérrez Saona CIO 26.03.2019 Todas
Sixto Bocanegra Coronel Planificación 26.03.2019 Todas

HISTORIA DE REVISIONES

Versión Fecha de Revisión Cambios Autor


V.1.0 26.03.2019 Inicio del documento Sixto Bocanegra Coronel

LISTA DE DISTRIBUCIÓN

Nombre Fecha Versión


Rubén Barrantes 26.03.2019 V1.0
Equipo de Desarrollo

1
Tabla de contenido
1. Herramientas: .............................................................................................................. 3
1.1. Laravel 5.8 ............................................................................................................ 3
1.2. Postman ............................................................................................................... 3
1.3. Git........................................................................................................................ 3
1.4. IDE ....................................................................................................................... 3
2. Formato....................................................................................................................... 3
2.1. Modelo. ................................................................................................................ 3
2.2. Controlador........................................................................................................... 3
2.3. Middleware. .......................................................................................................... 4
2.4. Funciones y Variables ............................................................................................. 4
2.5. Constantes: Prefijo CONST ...................................................................................... 4
2.6. Comentarios.......................................................................................................... 4
2.7. Declaración ........................................................................................................... 4
2.8. Rutas .................................................................................................................... 5
2.9. Rest...................................................................................................................... 5
2.10. Autenticación Librerías ....................................................................................... 6
2.11. Formato de transferencia de datos Español. .......................................................... 6
2.12. Diccionario. ....................................................................................................... 6
2.13. Documento Instalación. ...................................................................................... 6
2.14. Base de Datos .................................................................................................... 7
Estándar de Programación – Backend.
1. Herramientas:

1.1. Laravel 5.8


Estructura de árbol: Definida por el Framework.

.editorconfig: estándar de indentación.

1.2. Postman
Realizar Peticiones a la API de Laravel.

1.3. Git
Sistema de control de versiones (GitLab).

.gitignore: para no subir archivos binarios ni contraseñas guardadas.

1.4. IDE
Con uso del plugin editorconfig.

Sublime Text.

Netbeans.

Visual Studio Code.

PHPStorm.

2. Formato
Idioma:

Español: para nomenclatura de funciones, variables y constantes del negocio. La


letra ñ, se reemplaza por nio.

Inglés: Mantener los verbos y palabras reservadas propios del framework:


Controller, Middleware, Get, set, create, update, store.

2.1. Modelo.
Nomenclatura: Upper CamelCase/Singular, “Usuario”.

2.2. Controlador.
Conservar el nombre en inglés

Nomenclatura: upper CamelCase/Singular, “UsuarioController”.

3
2.3. Middleware.
Nomenclatura: CamelCase/Singular, “UsuarioMiddleware”.

Cors (Cross-origin Resource Sharing), Auth.

2.4. Funciones y Variables


Nomenclatura: lower camelCase/Singular(Plural), “crearUsuario()”.

Nomenclatura: lower camelCase/Singular(Plural), “$tablaUsuario”.

2.5. Constantes: Prefijo CONST


Nomenclatura: UPPERCASE Singular, “CONST_PI”.

2.6. Comentarios
En cada función se debe realizar una especificación de la misma.

Comentarios en bloque descriptivos a la función.

Comentario en línea explicativos


// ... ( una línea)
o
/* ... */ (varias líneas): Para describir la función.

2.7. Declaración
Declaración de variables en línea.

Se debe comentar el uso de la variable.

$nivel, $tamanio; // Mal

$nivel; // Indentation level

$tamanio; // Size of table

4
Declaración de Arrays

$colores = [

"1" => "bar",

"2" => "foo",

];

$tabla = [];

Declaración de clases y funciones:

class Permiso

//

function getProducto ( $id, $nombre )

//

2.8. Rutas
Rutas: estándar, /api/v1/{controlador}/{accion}/.

Rutas agrupadas para middlleware.

2.9. Rest
Verbos Http: GET, POST, PUT, DELETE.

Códigos de status Http:

200 OK - Respuesta a un exitoso GET, PUT, PATCH o DELETE. Puede ser usado
también para un POST que no resulta en una creación.

201 Created – [Creada] Respuesta a un POST que resulta en una creación.


Debería ser combinado con un encabezado Location, apuntando a la ubicación
del nuevo recurso.

204 No Content – [Sin Contenido] Respuesta a una petición exitosa que no


devuelve un body (como una petición DELETE)

304 Not Modified – [No Modificada] Usado cuando el cacheo de encabezados


HTTP está activo

400 Bad Request – [Petición Errónea] La petición está malformada, como por
ejemplo, si el contenido no fue bien parseado.

5
401 Unauthorized – [Desautorizada] Cuando los detalles de autenticación son
inválidos o no son otorgados. También útil para disparar un popup de
autorización si la API es usada desde un navegador.

403 Forbidden – [Prohibida] Cuando la autenticación es exitosa pero el usuario


no tiene permiso al recurso en cuestión.

404 Not Found – [No encontrada] Cuando un recurso no existente es solicitado.

405 Method Not Allowed – [Método no permitido] Cuando un método HTTP que
está siendo pedido no está permitido para el usuario autenticado.

410 Gone – [Retirado] Indica que el recurso en ese endpoint ya no está


disponible. Útil como una respuesta en blanco para viejas versiones de la API

415 Unsupported Media Type – [Tipo de contenido no soportado] Si el tipo de


contenido que solicita la petición es incorrecto

422 Unprocessable Entity – [Entidad improcesable] Utilizada para errores de


validación

429 Too Many Requests – [Demasiadas peticiones] Cuando una petición es


rechazada debido a la tasa límite.

2.10. Autenticación Librerías


JWT: Json web token.

SSL Cert Secure Sockets Layer

2.11. Formato de transferencia de datos Español.


Json: Recepción y envío de datos.

Nomenclatura para Json: snake_case, “tabla_campo”.

2.12. Diccionario.
2.13. Documento Instalación.

6
2.14. Base de Datos

CT_TIPOS_FACTURAS // Declaración de tabla

SELECT FAC.C_INTERNO,
FAC.N_FACT_PROV,
FAC.F_GRABACION,
FAC.I_BRUTO, FAC.C_TIPO,
TF.D_TIPO FROM CT_FACTURAS FAC,
CT_TIPOS_FACTURAS TF
WHERE F.C_TIPO = TP.C_TIPO

SELECT FAC.C_INTERNO,
FAC.N_FACT_PROV,
FAC.F_GRABACION,
FAC.I_BRUTO,
FAC.C_TIPO,
TF.D_TIPO FROM.
CT_FACTURAS FAC,
CT_TIPOS_FACTURAS TF
WHERE F.C_TIPO = TP.C_TIPO

FN_CREAR_TABLA // Funciones
TG_LOG_TABLA // Triggers

También podría gustarte