Un proyecto de software en el que estoy trabajando me involucra a mí y a otro programador. El proyecto involucró un motor de backend con un MVC front end. Inicialmente hice mucho trabajo en el proyecto y, por lo tanto, configuré algunas metodologías de diseño simples, principalmente sobre abstracción y estrategia de plantilla.
Durante bastante tiempo he estado fuera del motor y trabajando en el sitio web. Sin embargo, todavía he mantenido un interés en el motor, ya que me informaron que podría volver a utilizarlo en algún momento.
El proyecto se encuentra dentro de un plazo muy ajustado, por lo que todos estamos apresurados para terminarlo tanto en la parte delantera como en la trasera.
No me considero un gran programador y, por lo tanto, nunca trato de imponer un diseño particular o un conjunto de metodologías en las personas, ya que no siempre estoy seguro de tener razón y me gusta que otras personas ofrezcan sus opiniones para intentar proponer mejores soluciones. Sin embargo, he notado cambios en este código del motor que realmente me está molestando. Cuando me enfrenté al desarrollador para sugerirle que hiciera el trabajo de otra manera, dijo que no veía el punto ya que parecía haber poco beneficio teniendo en cuenta los plazos ajustados.
Tuve que tratar de explicar que el truco que había puesto podría significar un mayor desarrollo después del lanzamiento y no pensé que fuera justo hacer que otros recogieran la holgura cuando pudiéramos solucionarlo ahora. Pasé unos 30 minutos repasando lo que había hecho y al final me pidió que escribiera el código para poder copiarlo.
La base de lo que inicialmente había configurado fue:
- Una clase abstracta x
- Una clase abstracta de fábrica para crear instancias concretas de x
Lo que sucedió fue que había puesto un par de afirmaciones que podrían haberse puesto fácilmente como métodos virtuales / abstractos en la clase abstracta y luego implementadas en consecuencia, ya que el nuevo cambio seguía el mismo principio de otros métodos en la clase abstracta.
Esto me parece trivial, sin embargo, ni siquiera podía comprenderlo incluso cuando le mostré las clases involucradas.
Ahora mi pregunta es:
- ¿Es injusto suponer que debería haber captado este concepto? Me doy cuenta de que tenemos plazos ajustados, pero pensé que era trivial. Se supone que el programador es al menos un nivel intermedio.
- Esto ha sucedido en varios lugares y siempre he tratado de hacer que cambie, pero parece que no. ¿Debería ignorarlo?
- Debería plantear este problema en otro lugar, o simplemente chuparlo y cuando vuelva a ponerme en el proyecto, simplemente cambiaré todas estas cosas.
Su parte del proyecto no va a estar terminada, por lo que tendré que volver a ayudarlo. Realmente no quiero también, ya que ha tomado un proyecto con una arquitectura no muy buena, pero está bien y realmente ha puesto un montón de código desordenado que con mucha frecuencia no siguió lo que se intentaba lograr.
Si la pregunta es demasiado vaga o desvergonzada, avíseme e intentaré editar en consecuencia.
EDITADO: Se espera que el proyecto continúe después de la fecha límite inicial ya que ya hay trabajo de seguimiento planificado y trabajo que no encajamos y que se acordó implementar más adelante.