5 votes

Emplacement des déclarations d'importation en C#, ce qui rend StyleCop heureux

Je suis un grand fan de StyleCop, il me facilite la vie. Un tas d'autres personnes ont pensé à de bonnes règles, et je les suis volontiers en activant StyleCop. Récemment, je me suis intéressé à l'extensibilité de Coded Ui et je suis tombé sur cet article :

http://blogs.msdn.com/b/gautamg/archive/2010/01/05/2-hello-world-extension-for-coded-ui-test.aspx

L'exemple de code ci-dessous rend StyleCop mécontent parce que la balise using sont en dehors de l'espace de nom. Cependant, je ne peux déplacer que les deux System* le troisième est nécessaire pour définir un attribut d'assemblage, et je ne peux pas jeter assembly: à l'intérieur d'un espace de nom.

Existe-t-il un moyen propre de réorganiser ce code ?

using System;
using System.Diagnostics;
using Microsoft.VisualStudio.TestTools.UITest.Common;
using Microsoft.VisualStudio.TestTools.UITest.Extension;

// Attribute to denote that this assembly has UITest extensions.
[assembly: UITestExtensionPackageAttribute("HelloWorldPackage",
           typeof(UITestHelloWorldPackage.HelloWorldPackage))]

namespace UITestHelloWorldPackage
{
    internal class HelloWorldPackage : UITestExtensionPackage
    {
        public override object GetService(Type serviceType)
        {
            Trace.WriteLine("Hello, World");
            return null;
        }
....

5voto

Daniel Hilgarth Points 90722

À mon avis, la règle consistant à placer les utilisations à l'intérieur de l'espace de nom est inutile et rend le code difficile à lire.

5voto

David Hoerster Points 18815

Vous ne pouvez pas déplacer votre [assembly: UITestExtensionPackageAttribute()] à vos propriétés \AssemblyInfo.cs fichier ? Je suppose que l'article que vous avez référencé avait le fichier [assembly:] afin de conserver l'exemple dans un seul bloc de code.

Je suis d'accord avec Daniel - avoir using à l'intérieur des espaces de noms rend votre code plus difficile à lire.

Je recommanderais de déplacer l'attribut dans votre fichier AssemblyInfo.cs et de garder vos utilisations en haut de votre fichier de classe. Cela semble assez standard.

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X