Scrivi il tuo codice quindi ottimizzalo? Oppure scrivi un codice ottimizzato dall'inizio.
Io credo sempre nella scrittura ottimizzata poiché non mi piace davvero riscrivere il codice, ma per favore condividi i tuoi pensieri.
Esiste una semplice regola di ordine di tre:
La regola generale è questa (sottolineatura mia):
Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
-- Donald E. Knuth, "Structured Programming with
go to
Statements"
Ora, questo non significa che dovresti scrivere un codice inefficiente. Dovresti scrivere un codice efficiente se non ci vuole molto più tempo del codice inefficiente. Se è possibile eseguire 1 richiesta SQL anziché 100, si prega di farlo. Se non ti ci vuole molto più tempo, cioè.
Questo codice potrebbe non essere usato molto spesso, quindi in realtà non è affatto un collo di bottiglia, anche se potrebbe sembrare inefficiente. Se scriverlo in modo efficiente significa passare troppo tempo, non c'è alcun valore aggiunto per la tua attività.
Quindi, ovviamente, se devi ottimizzare qualcosa perché è lento, non dimenticare mai prima il profilo.
Alcuni link che potrebbero interessarti:
Stai suggerendo di fare un'ottimizzazione prematura?
Il codice è veloce quando corrisponde ai requisiti non funzionali relativi alle prestazioni. Fino a quando tali requisiti non sono soddisfatti, non devi preoccuparti delle prestazioni: ci sono cose molto più importanti di cui preoccuparsi, come la qualità del tuo codice, l'architettura, ecc.
Una volta che il requisito di prestazioni non funzionali viene interrotto dal codice, significa che è più lento di ciò che è accettabile / desiderabile. A questo punto, dovresti:
Verifica il tuo codice (invece di indovinare dove si trova il collo di bottiglia, dato che ci sbagliamo sempre),
Ottimizzalo finché il test corrispondente al requisito non passa di nuovo.
Scrivi ottimizzato quando sai per certo che avrà un effetto ed è giustificato dalla leggibilità del codice.
Leggi altre domande sui tag optimization