A volte esito tra "Più codice per evitare operazioni non necessarie" e "Meno codice ma con operazioni ridondanti". Lasciatemi fare un esempio (API Win32):
Cerco di dipingere manualmente alcuni controlli quando il cursore si trova su di esso. Se il cursore si trova su questo controllo e viene dipinto, non è necessario che venga dipinto nuovamente prima che il cursore si spenga.
Ovviamente, posso solo dipingere questo controllo ogni volta che appare un WM_MOUSEMOVE
. Oppure, posso usare più variabili per registrare lo stato di questo controllo e dipingerlo solo quando lo stato è cambiato.
Anche se non è una domanda (in pratica) nel mio esempio, voglio comunque avere un sentore per quale sia la scelta migliore, in generale. E se questo dipende dai casi, un modo per sviluppare un buon senso per fare la scelta?
(Non mi concentro su "efficiente". È più o meno come una domanda come: Se sei un idealista della programmazione, quale è meglio per te.)