Foros del Web » Programando para Internet » PHP »

PHP OO Dudas y consejos para mejorar mi programacion

Estas en el tema de Dudas y consejos para mejorar mi programacion en el foro de PHP en Foros del Web. Buenos dias, siempre estoy buscando la forma mas elegante y optimizada de programar, y pues siempre ando viendo como programan otras personas y aprendienod lo ...
  #1 (permalink)  
Antiguo 06/08/2017, 10:43
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Dudas y consejos para mejorar mi programacion

Buenos dias, siempre estoy buscando la forma mas elegante y optimizada de programar, y pues siempre ando viendo como programan otras personas y aprendienod lo bueno de cada una, pero me he topado con unas dudas, por ejemplo donde trabajo el sistema que esta desarrollado tiene if anidades y son metodos enormes lo que hace que tengas que entrar a bucear dentro de cada if y estar presionando CTR+SHIFT+M para ver desde donde abarca este if para mi es tedioso eso, viene mi pregunta a su pensar y que es mas entendible u optimo..

if anidado, ejemplo
Código PHP:
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
    if ( isset(
$_POST['correo']) && isset($_POST['contrasena']) ) 
    {

    }
    else
    {
    echo 
json_encode(0);
    }
}
else
{
    
$this->load->view('registrarse');

if a mi parecer mas entendible ejemplo
Código PHP:
if($_SERVER['REQUEST_METHOD'] !== 'POST')
{
    
$this->load->view('registrarse');
    exit;
}

if ( isset(
$_POST['correo']) && isset($_POST['contrasena']) ) 
{
}
else
{
    echo 
json_encode(0);

Por que pienso que es mas entendible? Porque es mas facil de leer y si un if es enorme y no se cumple la condicion no tendria que volar hasta el fondo para ver el else ya que dentro de ese if existen millones de condiciones, aunque no creo que este afecte en la ejecucion del programa solo pienso que asi es mas legible y facil de entender..... Ustedes que opinan.
  #2 (permalink)  
Antiguo 07/08/2017, 11:15
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Dudas y consejos para mejorar mi programacion

Siempre va ser mas sencillo leer un if sin anidar y dentro de lo posible es buena idea evitarlo por claridad, pero eso no garantiza que el código sea legible. Para mi legible es que lo pueda leer con facilidad otro programador así que una forma de validar eso, es que le preguntes a alguien mas dentro de tu equipo si entiende lo que hiciste. Por ejemplo para mi algo mas legible seria que tuvieras algo en el controller como esto:
Código PHP:
Ver original
  1. if (!is_request('post')) {
  2.     return view('registrarse');
  3. }
  4.  
  5. if (!is_valid($_POST)) {
  6.     return json_response('Datos no validos', 400);
  7. }
  8.  
  9. return json_response($data, 200);

Por la sintaxis debes de estar usando CI, pero debe de ser posible que puedas agregar tus propios helpers y clases que hagan mas sencillo a otro programador la lectura de tu código. Un buen síntoma de que algo anda mal es que tengas controladores con métodos muy grandes eso indica que esos métodos están realizando mas cosas y es momento de refactorizarlos para que metas esas operaciones en otras clases o helpers.

Te recomiendo que investigues sobre los siguientes temas:
  • tell don´t ask
  • SOLID
  • GRASP
  • Refactoring
  • Testing
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: consejos, dudas, mejorar, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:18.