Durante la revisione del codice, di solito provo a formulare raccomandazioni specifiche su come risolvere i problemi. Ma a causa del tempo limitato che si può dedicare alla revisione, questo non sempre funziona bene. In questi casi lo trovo più efficiente se lo sviluppatore trova una soluzione da solo.
Oggi ho rivisto un po 'di codice e ho scoperto che una classe ovviamente non era ben progettata. Aveva un numero di attributi opzionali che sono stati assegnati solo per determinati oggetti e lasciati vuoti per altri. Il modo standard per risolvere questo sarebbe quello di dividere la classe e utilizzare l'ereditarietà. Tuttavia, in questo caso specifico, questa soluzione sembrava complicare eccessivamente le cose. Non sono stato coinvolto nello sviluppo di questo software da solo e non ho familiarità con tutti i moduli. Pertanto non mi sono sentito abbastanza informato per prendere una decisione specifica.
Un altro caso tipico che ho riscontrato molte volte è che trovo una funzione, un nome di classe o una variabile ovviamente insignificante o addirittura fuorviante, ma non riesco a trovare un buon nome da solo.
Quindi in generale, come revisore, va bene dire "questo codice è difettoso perché ... fallo diversamente" o devi trovare una soluzione specifica?