Un buen código PHP debe estar estructurado; un buen código PHP debe estar estandarizado; un buen código PHP debe ser adaptable; un buen código PHP debe ser seguro...
Definitivamente preguntaré esto cuando sea entrevistador en SitePoint. Cuáles son las ventajas y desventajas del código PHP? Porque esta pregunta puede darme una idea general de qué tipo de programador es el candidato, en lugar de simplemente probar su dominio de las funciones PHP (la certificación PHP de Zend es buena en esto, y las preguntas de la entrevista para programadores PHP de Yahoo también lo son).
Es importante destacar que esta pregunta me permite saber si el candidato ha tenido la experiencia de tomar un fragmento de código desordenado de un programador perezoso para reutilizarlo o haber ayudado a otros miembros del equipo con este tipo de cosas.
Es cierto que yo mismo no tengo una respuesta satisfactoria a esta pregunta, pero sé las respuestas que quiero escuchar:
un buen código PHP debe estar estructurado. Las secciones grandes de código deben dividirse en funciones o métodos, mientras que las secciones pequeñas de código que no son llamativas deben comentarse para que su propósito quede claro más adelante. Y el código de interfaz como HTML, CSS, Javascript, etc. debe estar lo más separado posible del programa. Las funciones de programación orientada a objetos de PHP pueden ayudar a los programadores a organizar su código de manera ordenada.
Un buen código PHP debe estar estandarizado. Ya sea estableciendo reglas de nomenclatura para nombres de variables y funciones, estandarizando procesos reutilizables como operaciones de bases de datos y manejo de errores, o tan simple como especificar cómo se debe sangrar el código, estas estandarizaciones pueden hacer que el código sea más legible.
Un buen código PHP debe ser adaptable. PHP tiene muchas características, como comillas mágicas y etiquetas cortas. Activar y desactivar estas características afectará la ejecución del programa. Por lo tanto, un buen programador debe agregar declaraciones apropiadas a su código para que el programa pueda ajustarse según el entorno.
Un buen código PHP debería ser seguro. Aunque PHP es un lenguaje eficiente y flexible sin un marco fijo, deja los problemas de seguridad en manos de los programadores. Una comprensión profunda de las posibles vulnerabilidades de seguridad, como las secuencias de comandos entre sitios (XSS), la falsificación de solicitudes entre sitios (CSRF), las vulnerabilidades de inyección de código, las vulnerabilidades de bucle de codificación de caracteres, etc., es crucial para los programadores profesionales de hoy.
Cuando un candidato responde a estas preguntas, sé claramente si debo contratarlo. Por supuesto, a veces los programadores no pueden articular bien el problema y les pedimos que realicen algunas pruebas de PHP. Muchas de las preguntas del examen pueden parecer muy simples en la superficie, pero también brindan a los candidatos la oportunidad de expresarse, porque si observan con atención, pueden detectar los problemas.
El siguiente pequeño fragmento de código PHP "deficiente" es una pregunta de prueba simplificada. Esta pregunta es como preguntar: ¿Cómo debería optimizar este código?
<?
echo("<p>Resultados de la búsqueda para la consulta: " .
$_GET['consulta'] ".</p>");
?>
El principal problema con este código es que muestra los datos enviados por el usuario directamente en la página web, creando así una vulnerabilidad XSS. En realidad, hay muchas maneras de llenar este vacío. Entonces, ¿qué código queremos?
<?
echo("<p>Resultados de la búsqueda para la consulta: " .
htmlspecialchars($_GET['query']) ".</p>");
?>
Este es el requisito mínimo. La vulnerabilidad XSS se rellenó con la función htmlspecialchars, bloqueando así caracteres ilegales.
<?php
si (isset($_GET['consulta']))
{
echo '<p>Resultados de la búsqueda para la consulta: ',
htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>';
}
?>
Las personas que puedan escribir dicho código deberían ser las que quiero contratar.
<? fue reemplazado por <?php, que es más consistente con las especificaciones XML.
Antes de generar el valor de $_GET['query'], primero determine si está vacío.
Se han eliminado los paréntesis adicionales en el comando echo.
Las cadenas están calificadas con comillas simples, lo que ahorra tiempo a PHP en la búsqueda de variables reemplazables en la cadena.
Utilice comas en lugar de puntos para ahorrar tiempo de eco.
Pase el indicador ENT_QUOTES a la función htmlspecialchars para garantizar que también se escapen las comillas simples. Aunque esto no es lo más importante, también es un buen hábito.
Desafortunadamente, hay muy pocos programadores que puedan dar una respuesta tan satisfactoria. Nos llevó 3 meses reclutar programadores con los que estuviéramos satisfechos.
Entonces, ¿cómo responderías a la pregunta planteada al principio de este artículo? ¿Cuáles crees que son las ventajas y desventajas del código PHP? ¿Qué otras cualidades crees que debería tener un programador PHP?
Este artículo proviene de: http://www.yeeyan.com/articles/view/38585/18736
Enlace original: http://www.sitepoint.com/blogs/2007/05/25/good-and-bad-php-code/