Estoy perdiendo el rastro del flujo de mi aplicación web PHP, me resulta difícil trabajar con

14

He estado programando durante algunos años y me he familiarizado mucho con C # y JavaScript con el tiempo. Tengo algunos proyectos más grandes de C # y JavaScript que no tengo problemas para navegar. Recientemente empecé un PHP & Proyecto AngularJS para trabajos sin experiencia previa con PHP.

El flujo del lado de PHP de las cosas se está volviendo difícil de seguir (el lado de JavaScript es más grande, pero fácil de procesar), cuando lo intento y lo pienso, imagino una bola de hilo enredada. Los principales errores de diseño que cometí cuando empecé están empezando a acumularse y afectar mi diseño en el futuro. Se tarda más y más tiempo en implementar algo nuevo.

Tengo una fecha límite muy ajustada y cada vez me cuesta más escribir un código bueno, SECO, SÓLIDO. Es cada vez más atractivo copiar / pegar trozos de código para hacer pequeñas variaciones en su comportamiento a medida que aumenta el tiempo de diseño. También me lleva mucho tiempo volver a la base del código cada vez que tengo que hacer un cambio de contexto (de un proyecto y luego a este), tengo una sensación de temor cada vez que vuelvo a trabajar en este proyecto.

¿Qué pasos puedo tomar para remediar esto? El tiempo adicional que puede tomar también tiene que ser justificable, mi jefe no es un desarrollador y no está familiarizado con el desarrollo o los ciclos de vida del software, por lo que explicar puede ser más difícil de lo normal.

    
pregunta Douglas Gaskell 15.11.2016 - 19:40

3 respuestas

11

Usted está asumiendo una deuda técnica. Cuanto más justifique el código descuidado con fechas límite, más fechas límite verá que obtenga cada vez menos.

Comprende que puedes escaparte completamente de esto. Nadie te va a pillar haciendo un lío y te echa a la pelota. Solo te vas a despertar un día rodeado de desorden.

En ese momento, actualizará su currículum vitae y lo convertirá en mi problema o decidirá pagar la deuda y dedicar un tiempo a limpiar el código.

Si va a la rutina de limpieza, comprenda que no se trata de "dedicar más tiempo al diseño". Se trata de romper algunos hábitos perezosos y sacar la basura.

Desechar el código al por mayor es una mala idea. No por el trabajo que se realizó, sino porque el código de trabajo captura una idea. Mueva la idea al código limpio antes de tirar el código sucio.

Tener pruebas unitarias ayuda con esto, pero si creó sus pruebas con el mismo cuidado que puso en el lío, es probable que también deban solucionarse.

No cedas a la rigidez. Si no puedes cambiarlo, entonces no es software.

    
respondido por el candied_orange 15.11.2016 - 20:32
9
  

Lleva más tiempo y más tiempo implementar cualquier cosa nueva.

Esta es tu justificación. Confiesa, come algo de cuervo y explica por qué las cosas tardan más tiempo y que necesitas dedicar un poco de tiempo a refactorizar y rediseñar el sistema.

Si no haces eso, necesitarás refactorizar poco a poco, en la parte baja. Las tareas ya llevan más tiempo del que usted desea: tómese un poco de tiempo adicional cada vez que toque el código base para intentar mejorar algo. Añadir una prueba de integración. Extraer una abstracción.

La respuesta estúpida a "¿Cómo puedo refactorizar un proyecto enorme?" es "una pieza a la vez".

EDITAR

Estaba leyendo publicaciones relacionadas, y encontré esta publicación de blog: enlace . TLDR : no intentes crear una "fase" de refactor enorme en tu proyecto; es poco probable que los propietarios del proyecto se comprometan, y usted no estará de acuerdo con sus elecciones sobre qué abordar durante el tiempo que tiene. En su lugar, tómese el tiempo para cada nuevo cambio o corrección de errores para eliminar el código con el que está trabajando en este momento. No permita que los olores se queden cuando tenga la oportunidad de solucionarlos.

    
respondido por el guiniveretoo 15.11.2016 - 20:10
-2

Sonarqube admite PHP para que pueda ayudar a rastrear su deuda actual y las nuevas fugas. enlace

Muestra en vivo con Drupal enlace

    
respondido por el Archimedes Trajano 15.11.2016 - 23:41

Lea otras preguntas en las etiquetas