Ho ragione di fronte a una decisione difficile.
Ho un problema nel mio codebase (è in C ++), che potrei risolvere in due modi:
- A) Aggiungi una riga di codice
- B) Riscrivi ~ 7500 righe di codice, aggiungendo circa 1000 per una classe aggiuntiva di centralino di messaggistica
Ora, a quel punto qualsiasi persona sana di mente probabilmente mi direbbe di scegliere A, ma :
La soluzione A sarebbe hacky . Nel mio caso, ciò che intendo è che sarebbe:
-
Coinvolgi l'aggiunta di un accoppiamento tra due classi che normalmente non dovrebbero conoscersi e non dovrebbero interagire se non su una classe manager esterna
-
Bassa flessibilità
-
Causa le classi future della stessa lega per avere lo stesso problema, creando così più hackyness se la soluzione non viene modificata
Mi dispiace per la mancanza di informazioni concrete, ma spiegando la mia situazione probabilmente prenderò 1,5 pagine di carta A4 - e la decisione è davvero generale.
Quindi, cosa ne pensi:
- Dovrei scegliere la soluzione A o B?
- In che modo gli hacky possono entrare in un progetto in cui il codice pulito e logico svolge un ruolo importante?
- Esistono linee guida generali per evitare il fenomeno di "codice hacky"?