Solo una classe - Java

1

Ho scritto un programma in Java, è solo abbastanza piccolo e ho iniziato a programmare e ho finito con la creazione di una grande classe con tutto ciò che conteneva.

Il programma funziona bene e esattamente come lo volevo, tuttavia, scrivendo la documentazione mi sono reso conto che non segue alcun tipo di modello di architettura come MVC o 3 livelli e sembra più simile a un sistema monolitico . È probabile che ciò sia dannoso?

La manutenibilità è abbastanza importante ma il codice è ben commentato e potrebbe essere esteso abbastanza facilmente se qualcuno volesse aggiungere un algoritmo in più, per esempio. Mi sto solo chiedendo se questa è una cattiva pratica e se sarà guardata dall'alto in basso?

È per una parte di un progetto quindi verrà valutato, ho il tempo di dividerlo in classi ma potrebbe essere un lavoro non necessario che sento e non saprei davvero come dividerlo. Quando dico una grande classe, è tutta relativa ma è circa 1750 linee di codice.

Suppongo che la domanda principale sia; funziona così com'è, c'è bisogno di dividerlo in classi? I sistemi monolitici sono particolarmente cattivi (non è sicuro che sia anche un sistema monolitico!)?

    
posta user2517280 16.04.2014 - 14:43
fonte

2 risposte

6

Pensaci in questi termini:

  • Se dovessi guardarlo con lo scopo di modificare del codice, quanto mi ci vorrà per trovare dove fare così senza parlare prima con te?
  • Viene ripetuto un codice? Puoi evitarlo?
  • Che cosa succede se hai bisogno di invocare un metodo da un'altra classe? Puoi farlo facilmente?
  • Hai scritto test unitari?
    • Passano?
    • In caso contrario, prova a scriverne un po '- probabilmente facendo così diventerà evidente come devi rifattorizzare la tua classe.

Molti sono stati scritti su questo argomento, ma devi essere morso da questo prima di poter veramente capire quali sono le sue conseguenze.

    
risposta data 16.04.2014 - 14:56
fonte
2

Hai scritto un'applicazione che è un God Object , forse anche con un Megamoth (MITH MOnolithic meTHod).

Questo stile di programmazione non è orientato agli oggetti. È procedurale. Non c'è nulla di sbagliato nella programmazione procedurale di per sé. Ci sono molti programmi importanti che funzionano molto bene e sono sufficientemente mantenibili anche se sono completamente procedurali. Ma di solito questi non sono scritti in linguaggi orientati agli oggetti come Java.

Come notato, non è impossibile scrivere un programma procedurale in un linguaggio di programmazione orientato agli oggetti come Java. Ma l'intera filosofia di Java è costruita attorno all'orientamento agli oggetti. Quando non lo usi, perdi le funzionalità più utili della lingua e della sua API pur avendo un sacco di riempimento della sintassi che non ha alcun vantaggio per te.

Non tutti i problemi sono adatti per una soluzione orientata agli oggetti. Alcuni problemi si adattano molto meglio a uno stile di programmazione procedurale. Quando si incontra un tale problema, si consiglia di scegliere un linguaggio di programmazione procedurale per risolverlo. Ecco perché sono disponibili così tanti linguaggi di programmazione: così puoi scegliere lo strumento giusto per ogni lavoro.

    
risposta data 16.04.2014 - 16:27
fonte

Leggi altre domande sui tag