Je n'avais jamais vu ce style jusqu'à ce que j'ai rejoint mon employeur actuel. La première fois que je l'ai vu j'ai pensé "cet idiot n'a aucune idée et Java/OO langues en général ne sont pas son point fort", mais il s'avère que c'est un régulièrement survenant affliction ici et il est obligatoire de style sur quelques projets, bien que ces projets aient également utiliser l'
if (0 == someValue)
{
....
}
approche d'instructions conditionnelles, c'est à dire de placer la constante d'abord dans le test de sorte que vous ne courez pas le risque de l'écriture
if (someValue = 0)
par accident, un problème commun pour les C codeurs qui ignorent leurs avertissements du compilateur. Chose est, en Java ci-dessus est tout simplement le code non valide et sera chucked par le compilateur, de sorte qu'ils sont effectivement leur code moins intuitif pour aucun avantage.
Pour moi, par conséquent, loin de montrer "l'auteur est le codage avec un processus de pensée", ces choses me paraissent plus susceptibles de provenir de le genre de personne qui ne s'en tient qu'aux règles de quelqu'un d'autre a dit une fois, sans les remettre en question ou de connaître les raisons de la réglementation en premier lieu (et donc où les règles ne s'appliquent pas).
Les raisons que j'ai entendu principalement résument à "c'est la meilleure pratique" d'habitude, citant Josh Bloch est Efficace Java qui a une influence énorme ici. En fait, cependant, Bloch n'a même pas l'utiliser où même je pense qu'il devrait probablement avoir à l'aide de la lisibilité! Une fois de plus, il semble être plus le genre de chose fait par des gens qui sont dit de le faire et je ne sais pas pourquoi!
Personnellement, je suis enclin à être d'accord avec ce que Bruce Eckel dit dans la Réflexion Java (3e et 4e éditions):
'Certaines personnes de manière obsessionnelle à mettre cela en face de chaque appel de méthode et champ de référence, en faisant valoir qu'il est "plus clair et plus explicite." Ne pas le faire. Il ya une raison que nous utilisons des langages de haut niveau: Ils font des choses pour nous. Si vous placez ce dans quand il n'est pas nécessaire, vous risquez de perturber et d'ennuyer tout le monde qui lit votre code, puisque tout le reste du code qu'ils ont lu de ne pas utiliser ce partout. Les gens s'attendent à ce être utilisé uniquement lorsque cela est nécessaire. À la suite d'un uniforme et simple style de codage permet d'économiser du temps et de l'argent."
note de bas de page, p169, Penser en Java, 4e édition
Tout à fait. Moins est plus, les gens.