L'avantage d'une variable exposée à l'air libre, c'est que l'on suppose rien. Celui qui veut s'en servir sait qu'il devra la tester avant de faire quoi que ce soit.
Je m'en sert bcp quand j'ai un object qui est désérialisé depuis l'extérieur : on est jamais sur de ce qu'il contient. A chacun de faire ses vérifications au besoin.
Après, l'exemple en warning que tu donne valide le fait que ce n'est pas applicable tout le temps, bien sur.
Pour ce qui est d'utiliser des Threads pour faire des calculs, je n'ai pas été assez clair : mon avis est de ne pas le faire directement, mais via une lib spécialisée.
J'utilise bcp les Threads pour faire des sous-services : un while(true) avec un sleep (enfin quelque chose du genre) afin de pouvoir executer quelque chose très régulièrement, comme un get de db ou un scan de dossier.
Mon exemple de regex foireux était, pour un regex instancié en static, de chercher et de remplacer des caractères par d'autres et rechercher quelques séquences pour les remplacer (genre supprimer deux espaces par un seul). J'ai galéré pour y arriver a en faire un regex, lent. Mais un for sur chaque caractère l'a éclaté en terme vitesse d'execution et de lisiblité de code. Autre exemple de code ou j'ai dit non a un regex.
[^] # Re: Merci
Posté par Media ex Machina (site web personnel, Mastodon) . En réponse au journal L’homme orchestre, partie 2 : écrire du code (en Java). Évalué à 2.
L'avantage d'une variable exposée à l'air libre, c'est que l'on suppose rien. Celui qui veut s'en servir sait qu'il devra la tester avant de faire quoi que ce soit.
Je m'en sert bcp quand j'ai un object qui est désérialisé depuis l'extérieur : on est jamais sur de ce qu'il contient. A chacun de faire ses vérifications au besoin.
Après, l'exemple en warning que tu donne valide le fait que ce n'est pas applicable tout le temps, bien sur.
Pour ce qui est d'utiliser des Threads pour faire des calculs, je n'ai pas été assez clair : mon avis est de ne pas le faire directement, mais via une lib spécialisée.
J'utilise bcp les Threads pour faire des sous-services : un while(true) avec un sleep (enfin quelque chose du genre) afin de pouvoir executer quelque chose très régulièrement, comme un get de db ou un scan de dossier.
Mon exemple de regex foireux était, pour un regex instancié en static, de chercher et de remplacer des caractères par d'autres et rechercher quelques séquences pour les remplacer (genre supprimer deux espaces par un seul). J'ai galéré pour y arriver a en faire un regex, lent. Mais un for sur chaque caractère l'a éclaté en terme vitesse d'execution et de lisiblité de code. Autre exemple de code ou j'ai dit non a un regex.