Dejar de ser un cowboy del código y aplicar buenas prácticas de desarrollo a WordPress

WordPress es uno de los CMS más populares y uno de los más utilizados en Internet. Además tiene detrás una comunidad de usuarios enorme. Lo que posiciona a WordPress como una de las herramientas más utilizadas cuando vamos a desarrollar un sitio web, una tienda online, es la más recomendada a la hora de hacer un MVP para una startup, etc.

El problema es que entre los desarrolladores PHP hay un poco de odio hacia WordPress. Es cierto el código de PHP es un poco desastre, pero funciona. Y funciona bien. Y como a veces pasa, el problema no esta en el software sino en como las personas se relacionan con ese software.

8322854138_7177baab2a_z
Tram of light

Seguir leyendo “Dejar de ser un cowboy del código y aplicar buenas prácticas de desarrollo a WordPress”

“Clean Code” sin escribir una linea de código

Como desarrolladores nuestro trabajo es escribir código que ayude a resolver problemas, ni más ni menos que eso. Resolver problemas. Leemos libros como Clean Code, Software Craftmanship,… estamos al día de las últimas tendencias sobre programación, conocemos lenguajes, frameworks, en definitiva intentamos cada día hacerlo un poco mejor.

Pero, ¿es todo escribir código? da igual que sea PHP, Python, Javascript o Java nuestro día a día es resolver problemas y hacerlo bien. Una de las razones podría ser no generar demasiada deuda técnica y que nuestro código tarde más en convertirse en legacy code.

8314862395_bfef0bb766_z
One Shell Square

Además debemos luchar contra los deadlines,  así que en este post vamos a ver una serie de consejos para escribir mejor código sin escribir código.

Seguir leyendo ““Clean Code” sin escribir una linea de código”

Buenas prácticas de desarrollo en Etsy Parte 3

Esta es la tercera parte de la traducción del manual de buenas prácticas de Testing en Etsy donde se aborda el tema del Legacy Code.

Legacy code

La mayoría del código fuente que ha sobrevivido normalmente no fué escrito con un diseño limpio o pensando en la usabilidad/reutilización. Puede tener estado global, o no tener ninguna abstracción ( de modo que, por ejemplo, todas las operaciones de base están en una clase o en un método aislado que no está relacionado con la base de datos).

Vamos a tener que utilizar la imaginación cuando nos encontramos con código como este. Al final, nuestro trabajo está por hacer, tenemos que diseñar el código de acuerdo a unas normas, independientemente de como interactue ahora.

Seguir leyendo “Buenas prácticas de desarrollo en Etsy Parte 3”

Buenas prácticas de desarrollo en Etsy Parte 2

Esta es la segunda parte de la traducción del manual de buenas prácticas de Testing en Etsy

Testeando las partes juntas

El código ha sido escrito para el cliente y el servidor, pero solo ha sido testeado de manera separada. Nosotros queremos testar que el sistema actual funciona, por ejemplo que nosotros podemos enviar un trabajo real desde un JobClient a un JobServer real.

Una aproximación común es empezar a testear cada interacción entre cualquiera de las 2 partes del sistema (a veces son llamados ‘test de integración’).

¿Qué estamos testeando exactamente?

Preguntate a ti mismo que ocurre entre un cliente y un servidor que no pueden ser testeados el uno o el otro individualmente. Esto son las cosas de las que no debemos preocuparnos a este nivel, porque setear componentes de la vida real para testearlos al mismo tiempo es más difícil que testearlos uno por uno por separado. Así que contaremos con ese esfuerzo.

Seguir leyendo “Buenas prácticas de desarrollo en Etsy Parte 2”