PHP Salvaje

En la oficina nos hemos inventado el termino “PHP Salvaje”. Yo me he permitido hacer una pequeña definición.

Php Salvaje

PHP Salvaje.

Nos referimos a PHP Salvaje a todo el conjunto de malas practicas llevadas acabo en un desarrollo. Esto quiere decir en un solo archivo mezclar:

  • Consultas SQL.
  • Lógica PHP mezclada con HTML.
  • Mucho código comentado que no se usa.
  • Código que no se usa.
  • Estilos (CSS).
  • Javascript.
  • Código no identado o identado de mas o de menos.
  • Las funciones hacen mas de una cosa: devolver por ejemplo HTML y regresar un valor.
  • Variables mal nombradas.

Además esto trae como consecuencia que el código resulte difícil de leer, difícil de mantener. Y para el programador un desgaste mental.

Añadiremos también el no seguir alguna metodología de diseño de software como MVC. Y aquí también se aplicaría PHP Salvaje al mezclar en los modelos, controladores HTML, javascript, estilos y las vistas hagan mucho mas que solo renderizar HML

Un ejemplo de PHP Salvaje lo podemos ver a continuación.

listaObjetos($sql); if ( !$result ) { echo "No Has ingresado correctamente.
salir"; } else { foreach ( $result as $r) { $nombre = $r->usr_nickname; //$tipo = $r->usr_tipo; } $sql = "select alum_id as id, CONCAT(alum_appaterno,' ',alum_apmaterno,' ',alum_nombre) as 'Nombre', alum_curp as 'CURP', c_nombre as 'Carrera', ce_desc as 'CEscolar', sem_Id as 'Semestre', gpo_nombre as 'Grupo', est_nombre as 'Estatus', h_fmov as 'Fecha' from alumno inner join historial on alum_id=his_idalumno inner join carreras on c_id = h_carrera inner join cicloescolar on ce_id = his_cicloesc inner join semestre on sem_id = his_semestre inner join grupos on gpo_id = his_grupo inner join estatus on est_id = h_estatus "; $result = $conex->listaObjetos($sql); // print_r($result); if ($result) { HeadHtmlJquery("Lista de alumnos Inscritos"); ?> HeaderHtml ("Sistema de Control Escolar"); echo ''; HeaderCierre(); ?>

Lista de alumnos Inscritos

Busqueda rapida: $imgInsc= "\"Solicitud"; $imgDatos= "\"Datos"; $imgAntecedentes= "\"Antecedentes\""; $imgSep= "\"Solicitud"; $imgDoctos= "\"Documentos"; foreach ($result as $r) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // echo "\n"; echo "\n"; echo "\n"; echo ""; } ?>
Documentos Nombre CURP Carrera Ciclo Escolar Sem Gpo Estatus Fecha
id&sem=$r->Semestre\">$imgInscid\">$imgDatos id\">$imgAntecedentesid\">$imgSep id\">$imgDoctos". $r->Nombre."$r->CURP". $r->Carrera."$r->CEscolar$r->Semestre$r->Grupo". $r->Asesor."". $r->Estatus."$r->Fecha
FooterHtml(); } else MensajeDeError(9, "Acción invalida", 'No hay alumnos inscritos: Dar de alta ahora' ); } } else MensajeDeError(8,'Error', 'No has iniciado sesion'); ?>

Cabe aclarar que aquí no pongo en duda que una aplicación con PHP Salvaje funcione dado que es muy probable que ande de maravilla, cumpla con los objetivos del negocio y los usuarios no tengan queja.
 

Comentarios

El problema con el 'php-salvage' o espagueti es que funciona. Yo he visto montones de aplicaciones pequeñas echas a la medida que van a vivir por la eternidad así como funcionan hoy. Y hasta el día de hoy la mayor cantidad de lineas escritas en php en el mundo (mundial) llevan este estilo.

El problema existe en el cambio. Agregar una nueva funcionalidad o modficar una existente se convierte en un dolor indescriptible y una perdida de tiempo. 

Imagen de peter

Exactamente como mencionas el mantener y agregar funcionalidades se conviente en un trauma y desgaste mental.

Gracias por comentar. Saludos.

Añadir nuevo comentario