Como programador autodidacta de PHP, ¿cómo hago para encontrar mis malos hábitos?

  • Elimine todo su código. * Luego vuelva a clonar su código desde su repositorio de código fuente (por ejemplo, github, bitbucket, etc.). ¿Perdiste algo irremediablemente? Esa es una señal de un mal hábito. Todo el código que le preocupa perderlo se debe registrar y enviar al almacenamiento remoto.
  • Ejecuta tus pruebas unitarias. ¿No sabe cómo realizar pruebas o no tiene ninguna prueba? Ese es un mal hábito.
  • Haga un cambio de código en un lugar y haga que aparezca en todas las páginas de su aplicación. Si tienes que editar cosas en varios lugares, es un mal hábito.
  • Ingrese una cadena en caracteres chinos y luego muéstrela. Utilice el conjunto de caracteres UTF-8 en su código PHP, solicitud y respuesta HTTP y base de datos.
  • Cambia los navegadores. Dígame qué se rompe en su código y qué tuvo que hacer para solucionar el problema. También cambie el tamaño de su navegador y véalo en una tableta y un teléfono.
  • Introduzca “O’Reilly” en cada campo de formulario. ¿Qué consultas SQL se rompen? ¿Cuál es el mensaje de error cuando se rompen las consultas SQL? ¿No comprueba y registra errores de SQL?
  • Ingrese ” alerta (‘XSS’) ” en cada campo de formulario. ¿Cuántas ventanas emergentes ves posteriormente? ¿No filtra la salida a través de htmlentities () antes de generar texto?
  • Cuente sus errores, advertencias y avisos de PHP en el registro de errores. Debe saber dónde está el registro de errores y tener el hábito de verlo. Sus aplicaciones deben habilitar el informe de errores, pero su código debe estar lo suficientemente limpio para que no genere muchos de esos errores en el registro. Elimine todos los operadores “@” de supresión de errores en su código.

También puedes leer PHP: The Right Way y ver cuántas cosas haces bien o mal.


* Si realmente haces esto y pierdes algo irremediablemente, no asumiré la responsabilidad.

  • Lea el código de otras personas.
  • Encuentra un mentor cuya capacidad y estilo admiras.
  • Utilice un marco. Si esto te molesta, decide por qué. Probar diferentes marcos.
  • Estudio de modelos y modelos de diseño orientados a objetos.
  • Estudie otro paradigma: p. Ej., Enséñese Scheme (lenguaje de programación), Lisp, Erlang (lenguaje de programación), Prolog, Haskell (lenguaje de programación) o Scala (lenguaje de programación). ( http : //patternsinfp.wordpress.co… )
  • Programación de estudios: por ejemplo, hacer los ejercicios en un texto como Estructura e Interpretación de Programas de Computación.
  • Ejercita todas las habilidades anteriores en tus propios proyectos. Cuando tenga confianza, únase a los proyectos de código abierto (según el principio del rascarse, esto funciona mejor si son productos que usa, con los problemas que necesita solucionar). La mayoría estará agradecida por la ayuda.
  • Pero lo mejor que puede hacer para la empleabilidad es: Aprenda otros idiomas además de PHP. Mejorará su estilo en PHP, como efecto secundario.

Creo que lo que Toby Thain sugirió es genial. Pero definitivamente agregaría ser revisado por pares de un amigo con experiencia en el comercio.

Tengo un amigo que constantemente comparte su código conmigo y siempre tengo algunas sugerencias para hacerlo mejor / más bonito / más eficaz / más legible.
Él aprecia cualquier comentario que le dé y lo más importante, él aprende de él.
Esta es la mejor manera de hacerlo, ya que le brinda un entorno bastante seguro y constructivo para evolucionar y mejorar.

Sin embargo, tenga cuidado al aprender un nuevo idioma. Esto se debe a que cada idioma tiene sus propias mejores y peores prácticas. Si aún no sabe qué malos hábitos adquirió, esto podría llevarlo a un lugar donde podría forzar sus malos hábitos en el nuevo idioma, o forzar los buenos hábitos del nuevo lenguaje en PHP, lo que podría ser malo en sí mismo. Si decide aprender un nuevo idioma, intente olvidar sus hábitos de PHP y comience de nuevo.
Como un ejemplo de lo que quiero decir, alguien que viene de PHP a Python, podría estar tentado a usar un bucle for para procesar / modificar cada campo de una lista / matriz, mientras que una buena práctica de python sería usar listas de comprensión.

Pero ciertamente desaliento el aprendizaje de un nuevo idioma; siempre es mejor mejorar y ampliar su conocimiento en cualquier campo.