¿La mejor forma de desarrollar PHP con un equipo?

Estoy trabajando en un proyecto de PHP con un grupo de 4. Me pregunto cuál es la mejor manera de desarrollar el proyecto.

Tenemos un sistema de control de versiones.

Estoy confundido acerca de cómo cada desarrollador escribe y testing el código. ¿Debería cada desarrollador tener su propio entorno de testing? ¿Es mejor tener ese ambiente de testing local? Etc ..

Gracias

Cada desarrollador debe tener su propio entorno local en su máquina para hacer el desarrollo. Una vez que un desarrollador ha implementado una característica particular, debe confiarla al sistema de control de versiones.

Debe utilizar una herramienta de continuous integration para comstackr automáticamente el último código del sistema de control de versiones en un entorno de ensayo. Utilizo Beanstalk para el control de versiones y las implementaciones automatizadas.

Una vez que esté satisfecho con el código en el entorno de ensayo, puede comstackrlo manualmente en el entorno de producción.

Este es un sistema simple pero flexible que es adecuado para un equipo de 4 personas

Dos consejos:

Primero, cada persona debe comprender los estándares de encoding grupal. A menudo, las personas tienen discrepancias en cuanto a la utilización de mayúsculas y minúsculas, y la denominación variable; cuando se trabaja en un proyecto con varias personas, esto a menudo se vuelve confuso. Asegúrate de que esté estandarizado.

Cada desarrollador debe probar en su entorno local. Si las testings funcionan, se comprometen con un logging de cambios que detalla los cambios. Asegúrese de estar trabajando en un grupo de más de dos para que cada persona proporcione loggings de cambios detallados. De lo contrario, resulta imposible averiguar qué revisión cambió qué.

Aquí hay una list de cosas a tener en count cuando se trabaja en equipo (sin ningún order en particular):

  1. Asegúrese de que cada desarrollador tenga un entorno idéntico para el desarrollo local.

  2. Un sistema de control de versiones como git es imprescindible. Cada miembro debe enviar confirmaciones regularmente. no quiere que alguien presione 10 commits de una vez, solo para causar una serie de conflictos de fusión en las configuraciones locales de los demás.

    Además, asegúrese de usar el control de versión de manera efectiva. Mantenga el master (o cualquier otro) como su twig de producción, que siempre se puede implementar. Trabaja en otras twigs para otras funciones.

  3. Antes de comenzar a trabajar, discuta la architecture de la aplicación a background. Es posible que incluso desee examinar MVC para que las diferentes partes del código estén bien separadas y la split del trabajo sea más fácil.

  4. Escriba testings unitarias rigurosas para cada característica que desarrolle. El desarrollo basado en testings suele ser el enfoque más eficiente para desarrollar en un equipo.

  5. Además, como señaló @Telthien , mantenga una guía de estilo común ( Github 'sy Google ' s para reference). Esto implica cosas como el uso de espacios / tabs para sangría, nombres de funciones iniciales con guiones bajos, nombres de classs de mayúsculas y minúsculas, etc.

La respuesta depende completamente de tus necesidades.

Lo que normalmente hago en equipos pequeños es tener un entorno de testing local para cada desarrollador. Mejor aún si tiene una image de máquina virtual de un buen server de testing que pueda actualizarse y distribuirse regularmente para que cada desarrollador la pruebe, de modo que sus testings coincidan estrechamente con su entorno de producción.