Se c’è un aspetto che lo sviluppatore medio non tiene nella giusta considerazione quando scrive il codice è il cast tra tipi. Questo lo deduco solo dalla mia esperienza sul campo, ovvio.
Sto parlando del cast ridondante, cioè quel cast semplicemente inutile e che potrebbe essere tranquillamente evitato, basterebbe solo un pò di attenzione in più, e forse un pò di copia ed incolla in meno
Spesso un cast ridondante non è immediatamente percepibile.
Se si scrive una cosa del genere:
non è immediatamente visibile (ad occhio, intendo) il cast ridondante della riga 4, poichè un oggetto XmlDocument può essere tranquillamente assegnato ad un oggetto XmlNode in quanto quest’ultimo è la classe da cui deriva, e quindi per i principi basilari del polimorfismo o per il principio di sostituzione di Liskov (al secolo Barbara Liskov, è quindi una donna ) , fate voi, per cui, se B è una classe derivata da A, allora oggetti di tipo A possono essere sostituiti da oggetti di tipo B senza alterare la correttezza dei risultati.
Quindi il codice precedente può essere riscritto senza la ridondanza del cast, cosi:
Ma quando vedo cose del genere:
non riesco proprio a non rabbrividire, anche con il caldo torrido di questi giorni .
Ma come è possibile effettuare un cast del valore zero verso un tipo Byte !?!?!, quando, lo sanno pure i bambini, il tipo primitivo Byte rappresenta un valore intero senza segno compreso tra 0 e 255 ?.
Scusate lo sfogo…..