Il codice è veloce ma scritto con una sintassi cattiva e difficile da capire, un buon codice?
Il codice viene eseguito lentamente ma è scritto con una sintassi buona e facile da capire, un buon codice?
Il codice è veloce ma scritto con una sintassi cattiva e difficile da capire, un buon codice?
Il codice viene eseguito lentamente ma è scritto con una sintassi buona e facile da capire, un buon codice?
Neanche lo sono. Un buon codice è un codice che è sia efficiente durante il runtime che di facile manutenzione.
Il codice eseguito in modo sufficientemente efficiente è buono perché l'applicazione funziona abbastanza efficientemente, ma se è troppo difficile da mantenere, diventa un debito tecnico: qualcosa che costerà (possibilmente molto) lavorare con la strada, e dovrebbe davvero essere riscritto / refactored in modo che sia facilmente mantenibile.
Se il codice è facilmente gestibile ma non soddisfa i requisiti di rendimento, in genere non è considerato completo o funzionante.
In generale (almeno per me), il codice viene scritto due volte. La prima volta per farlo fare ciò che è previsto, seguito da una sessione refactor (o da più refactoring) per trasformarlo in codice gestibile.
Detto questo, ci sono molti altri fattori che contribuiscono al codice "buono", ma quelli sono due di quelli più grandi.
Ti offrirò di dare un'occhiata al libro Complete Code di Steve McConnell. Un classico e un intero libro dedicato alla scrittura di codice "buono": link
Esistono molte metriche per la qualità del codice, ad es.
Quali metriche si applicano e la loro importanza relativa dipende dalla situazione. Per esempio. se stai scrivendo un programma di utilità una tantum per te, allora la manutenibilità, l'usabilità, la portabilità e l'internazionalità non contano. La complessità del tempo e del codice speso per questi fattori sarebbe controproducente (tranne che per l'apprendimento di come) e quindi incoerente con "ben scritto".
Se stai scrivendo una borsa valori, l'accuratezza, l'affidabilità, la testabilità, la manutenibilità e la sicurezza sono molto importanti e aumenteranno i costi di sviluppo.
Se stai scrivendo un programma in tempo reale, deve rispettare in modo affidabile le scadenze temporali. Non è più veloce = migliore È l'affidabilità di rispettare le scadenze. Per esempio. se esegue una radiografia medica, essere in ritardo per spegnere la radiografia è un fallimento, probabilmente fatale.
Leggi altre domande sui tag code-quality coding-style