Nella nostra azienda, abbiamo un'applicazione software personalizzata che utilizza il nostro framework. Il framework è stato costruito intorno al 2002 o 2003, molto tempo prima che mi presentassi all'azienda. La maggior parte delle funzioni nel framework sono solide, quindi le usiamo ancora perché non abbiamo mai avuto problemi con loro, sto parlando delle funzioni e delle funzioni del database per ottenere parametri get / post e dati di escape, ecc.
Ero solo io a lavorare sui progetti, quindi non ho mai avuto problemi con il code-base, tuttavia ora abbiamo fino a 6 sviluppatori che hanno iniziato a lavorare sul framework di recente, quindi le cose sono diventate più complicate. Nel nostro attuale framework è impostato come:
/cms/
/cms/modules/
/cms/modules/filemanager/
/cms/modules/filemanager/index.php
/cms/modules/pages/
/cms/modules/pages/index.php
/cms/...
Ora all'interno di ciascun file indice di ciascun modulo abbiamo il seguente:
require_once '../../config.php';
require_once '../../database_functions.php';
require_once '../../url_functions.php';
Sto trovando sempre più difficile mantenere i cambiamenti, ora e ora, che alcuni moduli interagiscono con altri moduli e sta diventando pazzesco per mantenerlo tra tutti i membri del nostro team di sviluppo.
In passato era molto semplice, ma ora il nostro modulo di pagina in realtà integra altri moduli nel modulo principale, in segnaposti fondamentalmente in modo da poter inserire qualsiasi contenuto da singoli moduli nella pagina.
Il problema arriva quando apportiamo una modifica al nostro modulo galleria e ora ho bisogno di apportare modifiche al front-end (output html), al modulo stesso della galleria, al database e quindi eseguire il debug di tutti gli errori che si verificano in altri moduli che stanno attualmente utilizzando i dati dal modulo galleria. Fondamentalmente diventa una reazione a catena di cambiamenti.
Qualcuno ha qualche suggerimento su come semplificare le cose o un modo migliore per controllare la manutenzione della nostra applicazione? Stiamo ancora utilizzando un modo molto strutturato di codifica utilizzando script e funzioni dirette piuttosto che OOP, poiché sono abituato a codificare in C e non mi piace complicare più del necessario.
A parte questi problemi, al momento non utilizziamo nulla come le versioni del nostro software, abbiamo distribuito un ottimo lavoro e i clienti adorano il software che distribuiamo, semplicemente non abbiamo versioni su di loro e non ci sono build o qualsiasi cosa, che è probabilmente un grosso errore in sé.
Qualsiasi idea o suggerimento o anche un link a qualche parte che possa aiutarci a capire come strutturare meglio il nostro processo di sviluppo (se questo è un problema) sarebbe molto apprezzato.