Question

Là où je travaille, je vois souvent le code comme ça:

public void Test(Models.User.UserInfo userInfo, Models.User.UserParameter param)
   { ... }

Personnellement, je préfère voir quelque chose comme ça:

public void Test(UserInfo userInfo, UserParameter param) { ... }

ont une importation en haut.

Qu'est-ce que vous en pensez? Quelles sont les meilleures pratiques? Qu'est-ce que les avantages et les inconvénients des deux? Comment pourrais-je convaincre mes coéquipiers?

Je trouve la deuxième option soit plus claire.

Était-ce utile?

La solution

utiliser définitivement la directive using, l'OMI. En règle générale ce code est juste qui a été généré automatiquement par Visual Studio. Je ne l'ai pas vu quelqu'un délibérément écrire du code comme ceci manuellement. OMI vaut la peine de ce faire en sorte que tout le code que les humains liront regarde comme les humains ont écrit - donc j'ajouter la directive à l'aide et réduis les noms ici. Il est beaucoup plus facile à lire -. En particulier lorsque les espaces de noms sont longues

Autres conseils

Je tendance à utiliser le nom complet si le type est utilisé qu'une seule fois ou peut-être deux fois dans un fichier de code. Pour tout le reste utilisation I using

Mais cela dépend aussi de la longueur du nom complet. Il est tout au sujet de l'écriture belle, facile à lire le code.

Dans tous mais quelques circonstances, je dirais, import ou using les espaces de noms est la meilleure pratique. Ceci a l'avantage supplémentaire de dégradation précoce. Le compilateur se plaindra si elle ne peut pas trouver l'espace de noms

Parmi les rares circonstances où le nom complet est nécessaire (pour être plus correct: il est pas complètement qualifié, vous ne spécifiez pas la version ou la clé) sont ceux où les collisions de noms se produiraient (c.-à- : lorsque deux namespaces arrive d'avoir le même nom, je vois cela arrive souvent avec les classes de Util que de nombreux fournisseurs ajoutent à leurs libs) (notez que vous pouvez les noms de classe alias à l'aide using). Ou quand vous avez besoin de qualifier le nom comme une chaîne, mais c'est une autre cas d'utilisation (par exemple, avec la réflexion). De temps en temps, pendant le débogage, il aide à utiliser le FQN, parce que le débogueur ne permet pas l'ajout d'une directive using.

Dans le cas où vous utilisez le nom qu'une seule fois, vous pouvez être tenté d'utiliser la FQN, mais dans mon expérience, vous trouverez rapidement vous en utilisant plus d'un nom de l'espace de noms et refactor à importer l'espace de noms dans la en-tête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top