Comment facilement éviter les NPE dans son code, au niveau des conditions ?

J'pense que c'est connu de tous les devs (confirmé/sénior) , mais une petite piqure de rappel ne fait pas de mal.

Principe

Le principe est relativement simple : On évite de tester sur l’élément qui peut être null

Pourquoi Yoda style ? Car naturellement quand on va écrire du code, on va l'écrire comme on parle

Ma RG : Je veux une méthode pour vérifier si une chaîne de caractère est vide :

Pseudo code (non yoda style) : function isTextEmpty(string value) : boolean{ // Si la chaine egale vide ... if(value.equals("")) return true ; return false; } Quel est le soucis ici ? Si value = null on va faire null.equals , BIM! NPE ! Il faut donc géré le NPE soit en faisant if(value != null && ...): ça alourdit les tests, faut gérer le TU etc... Pseudo code (yoda style) function isTextEmpty(string value) : boolean{ // Si vide égale la chaine .... if("".equals(value)) return true; return false; } Si jamais value est null, ça retourne false sans NPE ! (ça vous empeche pas de quand même rédigé le TU au limite, mais ça évite de complexifié le code pour rien) Inverser tes conditions, tu fera !