Dopo aver scritto il mio miliardesimo controllo null in codice Java, ho iniziato a chiedermi perché la capacità di verificare gli argomenti del metodo null non fosse già incorporata in Java. Ad esempio, per alcuni metodi, voglio lanciare un IllegalArgumentException se alcuni (o tutti) gli argomenti sono nulli. Sarebbe bello se potessi contrassegnare il codice e fare in modo che il compilatore generi la convalida che genera un'eccezione informativa se la convalida fallisce.
C'è già qualcosa in Java dove puoi specificare alcuni parametri di correttezza per gli argomenti del metodo (per esempio int deve essere all'interno di un certo intervallo, o Oggetto deve essere non nullo ) e il compilatore genera automaticamente il codice?
In Java sembra che questo dovrebbe essere gestito con annotazioni. (Immagino che in C / C ++ potresti definire dei bei macro per fare questo per te.) Nella ricerca sul web su questo problema, ho visto il riferimento a JSR 305 , ma sembra destinato all'uso con gli strumenti IDE e non con il compilatore Java.
Suppongo che questo già esista in altri linguaggi di programmazione. Quindi sarei interessato a sapere come questo possa funzionare in queste lingue, così come ciò che potrebbe esistere (o essere in arrivo) in Java.