Ho fatto qualcosa di sbagliato nella mia organizzazione del codice? Trovo ancora difficile seguire il mio programma. Ho provato a scomporre il mio programma su classi e funzioni piccole e facili da capire, tuttavia mi trovo a saltare per seguire il processo di azione.
Non posso pubblicare il mio intero progetto qui, quindi ecco un esempio di un processo. Il mio codice è un'app nodejs, che utilizza un'organizzazione (modello) C (modello) M (modello). Quelle sono specifiche per il progetto, e ho una quarta sezione di classi e funzioni "utilities" che riutilizzai da un progetto all'altro.
Il progetto è una directory web in cui l'utente può postare collegamenti. Ecco il processo con tutti gli attori intervenienti di un post dell'utente:
- Gestore del post del controller: ottiene la richiesta del post.
- Gestore post controller: viene eseguito form.parse per ottenere input di campo
- Funzione validationResult del modello: istanziare il modello
- Errore di convalida del modello: riceve l'istanza, chiama StringValidation nel file di utilità e restituisce errori di convalida o conferma per proseguire se non ci sono errori.
- Funzione validationResult del modello: recupera il risultato da 4). Se non ci sono errori, restituisce queste informazioni al controller
- Controller: riduce il titolo da un file di utilità, quindi crea una voce chiamando un'utilità di database dalla directory dell'utilità.
- reindirizzamenti.
Quindi per creare una voce, vengono utilizzati molti metodi distribuiti in controller, modelli e utilità. Quando devo risolvere un problema o aggiungere una funzionalità, devo rintracciare e ricomporre l'intero processo tra 3 file e probabilmente due volte metodi e classi.
Sono un po 'bloccato qui: ho cercato di creare un'architettura modulare di parti piccole, leggibili e riusabili, ma non sono sicuro di aver creato qualcosa di più semplice per mantenere quella enorme struttura lineare.
Come avresti organizzato questa struttura? Se la scomposizione di un programma in componenti piccoli, riutilizzabili e monouso è ciò che dovremmo fare come la maggior parte dei libri sostiene, dobbiamo intrinsecamente passare dai metodi alle classi e non vedo come questo faciliti il processo.