Lær VS at stave ordentligt

by Jesper januar 06, 2009 12:09

I min Visual Studio Team System 2008 Developer Edition, findes der en indbygget Fx Cop, som analyserer min kode, og kommer med forslag til hvordan jeg kan forbedre kvaliteten af min kode. Jeg er på det sidste begyndt at bruge den funktionalitet, da jeg synes den kommer med ret gode forslag/irettesættelser. Jeg er dog pånt irriteret over at den kommer med 150 fejl, bare fordi mit namespace hedder “Odin”… Det er ikke en stavefejl, og jeg vil have lov til at bruge det navn!

For at fjerne disse advarsler, er der flere ting man kan gøre:

Man kan tilføje attributter i sin AssemblyInfo.cs fil, og på den måde få kodeanalysen til at ignorere reglen:

[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage(
	"Microsoft.Naming", 
	"CA1704:IdentifiersShouldBeSpelledCorrectly", 
	MessageId = "Odin", 
	Scope = "namespace", 
	Target = "Odin.Web", 
	Justification = "Jeg vil have lov til at kalde mit produkt Odin!!!")]

Her kan man også skrive forklaringer på hvorfor man ønsker at se bort fra reglen og så videre. Eneste problem er at man skal oprette en attribut for hvert namespace der indeholder ordet, og det kan jo blive mange, når man som her, bruger ordet som rod-namespace. Her er det at man er godt hjulpet i VS 2008, for her kan man lave sin egen ordbog, som indeholder de ord man synes er ok, og som VS ikke umiddelbart godtager. Ordbogen er formateret i xml, og er ganske simpelt opbygget:

<xml version="1.0" encoding="utf-8">
<Dictionary>
  <Words>
   <Recognized>
    <Word>Odin
   </Recognized>
  </Words>
</Dictionary>

Der er ikke nogen krav til hvad filen skal hedde, men jeg kalder den f.eks. ordbog.xml. Man skal blot huske på at sætte “Build Action”-egenskaben for filen til: CodeAnalysisDictionary.

Så forsvandt der 150 advarsler…

Har man nu en løsning med en lang række projekter, kan man desuden nøjes med at have een ordbog. Det gøres ved at man, via højre klik menuen, vælger at ‘unloade’ projektet. Her efter vælger man, ligeledes via højreklik menuen, at editerer projektet. Projektfilen er i xml-format, og man kan her tilføje en tag som child til “ItemGroup”-tagen:

<ItemGroup>;
  <Compile Include="Content\HierarchyItem.cs" />
  	<CodeAnalysisDictionary Include="..\Phnyx.Web\ordbog.xml"/>
  </ItemGroup>

Gem filen og vælg reload (via højreklik menuen). Husk man kan bruge relative stier i forhold til projektfolderen.

I projektfilen, kan det ligeledes lade sig gøre at angive dansk som ordbog generelt for kodeanalysen. Hvis man er en af de få, der koder sine klasser med danske navne.

Det gøres ved at tilføje en tag i “PropertyGroup” sektionen:

<CodeAnalysisCulture>da-DK</CodeAnalysisCulture>

Så godtager den også: Ordre.KundeNummer :-)

Code on…

Tags:

Kommentarerne er lukkede

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen | Modified by Mooglegiant

About

Mit navn er Jesper Jensen, og jeg arbejder til dagligt som web-udvikler hos DGI, hvor mit speciale er klientside applikationer. Før det var jeg nogle år i robotbranchen, hvor jeg arbejdede med 3D simulering og system koordinering. Jeg elsker webudvikling, og specielt JavaScript har min interesse. Jeg har blogget om mine oplevelser med udvikling siden 2004

Calendar

<<  september 2010  >>
mationtofr
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

RecentComments

Comment RSS