Ho un progetto software di grandi dimensioni che sono l'unico sviluppatore di (~ 80KLOCS e conteggio - so che ci sono molti progetti più grandi là fuori, ma è un ordine di grandezza più grande di quanto abbia mai avuto a che fare prima)
Se è rilevante, il codice è diviso tra PHP e JavaScript. Direi che circa un terzo di esso era JS, circa due terzi è PHP; Mi aspetto che nel tempo, la dimensione del JavaScript supererà la dimensione del PHP.
Sto iniziando ad arrivare alla situazione in cui, occasionalmente, la parte strana di questa è diventata più complicata da mantenere. È ancora praticabile, ma posso vedere che forse tra qualche mese diventerà un incubo.
Ad ogni modo, la mia domanda è questa:
Con progetti software più grandi, qual è il modo migliore per mantenerli mantenibili? Voglio dire, quando suppongo che il mio ciclo di apprendimento del programma abbia colpito una serie di questi muri di mattoni di manutenibilità:
- Prima parete; risolto apprendendo che è possibile inserire il codice all'interno delle funzioni
- Seconda parete; risolto apprendendo che è possibile inserire funzioni all'interno delle classi
- Terza parete; risolto apprendendo che è possibile inserire classi in un'architettura (ad esempio, MVC). E in un momento simile - versioning, unit test etc
- Quarto muro; ????
In ogni caso, mi sono semplicemente chiesto - c'è qualche altra cosa che apprende, qualche approccio di organizzazione di codice magico che rende "enormi" questi enormi progetti di software? Dev'esserci qualcosa che impedisce ai grandi progetti di fermarsi? È solo un caso di essere severi con se stessi ... nel qual caso, rigoroso su cosa?
Grazie per l'aiuto, dovrebbe venire:)