Che cosa rende "buono stile" in Java? [chiuso]

9

Ho fatto questa domanda su Stackoverflow e, prima che venisse cancellato, ho ricevuto l'utile suggerimento da parte di Péter Török che questo potrebbe essere il posto migliore per pubblicarlo.

Ho programmato in Java per alcuni anni. Ho spesso discusso le decisioni di progettazione con i colleghi sulla base di ciò che costituisce 'buon stile'. In effetti, ci sono un certo numero di domande / risposte StackOverflow che discutono un progetto sulla base del fatto che qualcosa sia "buono stile".

Ma cosa rende "buono stile"? Come molte cose, lo so quando lo vedo ... ma volevo avere un'idea migliore rispetto alla mia coscienza, dicendo che questo design non è giusto.

Quali sono le cose a cui pensi per produrre un codice buono e ben progettato?

(Riconosco che questo è alquanto soggettivo, in quanto ciò che è "buono stile" dipenderà dal compito in questione). (Inoltre, dovrei aggiungere che non sono interessato agli stili di squadra, ad esempio "utilizziamo rientri di 2 spazi anziché 4" ... e non mi interessano le convenzioni del codice Java.

Modifica: grazie per tutte le buone risposte / commenti fino ad ora. Sono particolarmente desideroso di risposte che possano aiutare a codificare quelle cose che rendono la chiave di coscienza di un programmatore (e possibilmente dello stomaco)?

    
posta amaidment 22.08.2011 - 17:56
fonte

4 risposte

17

Alcuni brevi punti:

risposta data 22.08.2011 - 18:06
fonte
9

Aggiunta all'elenco di Ryan:

  • Segui i SOLID principi
  • Assicurati che il tuo codice non contenga troppa complessità ciclica
  • Test Driven Java è sempre una buona cosa
  • Se hai una classe xFactoryFactory , stai sbagliando: -)
  • Date le librerie open source nell'ecosistema Java, reinventare la ruota è in cattivo stato
  • Utilizza tempo Joda per data e ora

Mi fermo qui.

    
risposta data 22.08.2011 - 18:23
fonte
1

Pur apprezzando le risposte degli altri, ho pensato che fosse giusto condividere alcune delle cose a cui penso quando provo a scrivere un buon codice:

  • cosa deve sapere di questa classe / metodo / variabile? cioè dove dovrebbe vivere questa conoscenza?

  • in che modo questo codice può influenzare la memoria / le prestazioni della mia applicazione? (Riconosco che "l'ottimizzazione prematura è la radice di tutto il male", quindi non sto suggerendo di spendere molto tempo per ottimizzare, ma piuttosto una consapevolezza mentre inizialmente sto scrivendo il mio codice.)

  • è chiaro (dal codice e dalle strutture del codice) che cosa fa? (Cerco di seguire la massima: "Sforzati di non rendere possibile per le persone di capire, sforzarti di rendere impossibile alle persone di fraintendere".)

risposta data 23.08.2011 - 08:54
fonte
1

Leggi la classe String e ArrayList per ottimi esempi di programmazione Java corretta. Ma sono molto concisi, quasi in stile C, che non è necessariamente la cosa migliore per il codice mantenibile con documenti java minimali. La pratica comune nel mio negozio non è un commento, quindi cerco di commentare per codice usando nomi var dettagliati di camelCase e l'uso eccessivo di newline per delimitare una linea di pensiero da un'altra. Continuo a discutere usando le schede per separare le vars dai loro valori. Le schede possono migliorare la leggibilità, IMO, ma solo se eseguite in minima parte ed è molto soggettiva. Trovo che sia davvero per il pubblico. Non c'è risposta migliore qui.

    
risposta data 17.08.2013 - 05:36
fonte

Leggi altre domande sui tag