Ir al contenido principal

Guía de Estilo y Nomenclatura para Desarrollo

Guía de Estilo y Nomenclatura para Desarrollo

1. Uso de Variables
  • Se deben utilizar nombres de variables descriptivos y significativos.

  • Se debe emplear camelCase para nombrar variables en todos los lenguajes.

  • El idioma de las variables y funciones debe ser inglés para estandarización.

  • Evitar abreviaciones innecesarias y nombres genéricos como $temp, $data, $var.

✅ Ejemplo correcto:

$isActiveUser = true;

$attemptCount = 3;


🚫 Ejemplo incorrecto:

$usuarioActivo = true;

$numeroDeIntentos = 3;

 

2. Uso de Funciones y Métodos

  • Las funciones deben tener nombres descriptivos.

  • Usar camelCase para nombrarlas.

  • La función debe indicar claramente su propósito.

  • El idioma de las funciones debe ser inglés.

 

✅ Ejemplo correcto:

function getUserById($id) {

    // Código...

}

🚫 Ejemplo incorrecto:

function obtenerUsuarioPorId($id) {

    // Código...

}

 

3. Nomenclatura de Archivos

  • Los nombres de archivos deben ser claros y descriptivos.

  • Se debe usar PascalCase para los nombres de archivos.

  • Para archivos de clases y modelos, incluir "Model" o "Controller" en el nombre.

  • Los nombres de archivos deben estar en inglés.

✅ Ejemplo correcto:

UserMaintenanceModal.php

UserController.php


🚫 Ejemplo incorrecto:

MantenimientoModal.php

UsuarioController.php

 

4. Indentación y Formato

  • Se debe utilizar 4 espacios por nivel de indentación (no tabs).

  • El código debe estar correctamente indentado para mejorar la legibilidad.

✅ Ejemplo correcto:

function validateUser($user) {

    if ($user->isActive) {

        return true;

    }

    return false;

}


🚫 Ejemplo incorrecto:

function validarUsuario($usuario) {

if ($usuario->activo) {

return true;

}

return false;

}

 

5. Uso de Comentarios

  • Los comentarios deben ser claros y aportar valor.

  • Se deben utilizar comentarios solo cuando sea necesario.

  • Se prefiere el uso de PHPDoc en funciones y clases.

✅ Ejemplo correcto:

/**

 * Calculates the total with applied discount.

 *

 * @param float $subtotal

 * @param float $discount Discount percentage (e.g., 0.15 for 15%)

 * @return float

 */

function calculateTotal($subtotal, $discount) {

    return $subtotal - ($subtotal * $discount);

}


🚫 Ejemplo incorrecto:

// Esta función calcula el total

function calcularTotal($subtotal, $descuento) {

    return $subtotal - ($subtotal * $descuento);

}

 

6. Uso de Constantes

  • Las constantes deben escribirse en mayúsculas y con guiones bajos.

  • Deben estar en inglés.

✅ Ejemplo correcto:

define('TIME_LIMIT', 300);

const MAX_ATTEMPTS = 5;


🚫 Ejemplo incorrecto:

define('TiempoLimite', 300);

const max_intentos = 5;


 


 

7. Manejo de Espacios en Blanco

  • Dejar una línea en blanco entre bloques lógicos de código.

  • No dejar espacios en blanco innecesarios dentro de líneas.

✅ Ejemplo correcto:

if ($isActive) {

    processUser($user);

}




logAction($user);


🚫 Ejemplo incorrecto:

if ($activo) { procesarUsuario($usuario); }

registrarAccion($usuario);

 

8. Longitud Máxima de Funciones

  • Una función no debe exceder las 50 líneas de código.

  • Idealmente, debe contener entre 5 y 20 líneas.

  • Si una función supera las 50 líneas, se debe dividir en funciones más pequeñas.

✅ Ejemplo correcto:

function processOrder($order) {

    $user = validateUser($order->userId);

    $discount = calculateDiscount($user->type);

    $total = calculateTotal($order->items, $discount);

    handlePaymentAndStock($order, $total);

    return "Order processed successfully";

}


🚫 Ejemplo incorrecto:

function procesarOrden($orden) {

    $usuario = getUserById($orden->userId);

    if (!$usuario) { throw new Exception("Usuario no encontrado"); }

    $descuento = ($usuario->tipo == "VIP") ? 0.15 : 0.10;

    $subtotal = 0;

    foreach ($orden->items as $item) { $subtotal += $item->precio * $item->cantidad; }

    $total = $subtotal - ($subtotal * $descuento);

    if ($total > 1000) { aplicarPromocion($orden); }

    registrarPago($orden, $total);

    actualizarStock($orden->items);

    enviarConfirmacion($usuario, $orden);

    return "Orden procesada con éxito";

}