Avatar billede golyf Nybegynder
23. juni 2006 - 08:54 Der er 9 kommentarer og
4 løsninger

Ønskes gode råd om kode stil

Tilbage på universitet kan jeg huske vi fik lidt retningslinier for hvordan man navngiver classer, metoder, properties og variable med hensyn til store og små bogstaver. Det er bare mange år siden og nu er jeg så endelig i gang med at programmere igen og vil høre hvad i gør.

Point til alle der konstruktivt blander sig i debatten, så des flere meninger des færre point :-S

F.x.:

public string vaerdi
{ get { return vardi; }
  set {    vardi = value;    }
}

eller

public class MinClasse
{
...
...
...

public void minMetode
Avatar billede innercitydk Nybegynder
23. juni 2006 - 09:05 #1
Ved properties plejer jeg at gøre følgende eks:

private string _vaerdi;
public string vaerdi
{
    get{ return _vaerdi; }
    set{ _vaerdi=value; }
}

Klasser plejer jeg altid at navngive med stort begyndelsesbogstav som du selv har gjort.

Samme princip som du bruger med metoder, lille begyndelsesbogstav efterfulgt af et stort bogstav hvis der er flere ord f.eks. findKunde.

Jeg plejer aldrig at bruge de danske karakterer æ, ø og å. Yderligere bruger jeg altid sigende navne så der ikke er tvivl om hvor metoder og variabler hører til.

Hvis flere abonnerer på de samme data i en klasse implementerer jeg singleton patterns så der ikke hele tiden skal allokeres plads i memory til flere instanser af den samme klasse.

Skriv altid fyldestgørende kommentarer ved dine klasser/metoder så en eventuel anden udvikler ikke er i tvivl om funktionalitet og sammenhæng.

Klasser plejer jeg at ligge i hver sin .cs fil så man ikke skal scrolle frem og tilbage igennem een fil for at finde en klasse.

Vh Nicki
Avatar billede hmortensen Nybegynder
23. juni 2006 - 11:12 #3
Min standard er som følger:

namespace MitNamespace
{
  public class MinKlasse
  {
    private string _etFel;
    private const int KONSTANT_VAEERDI = 1;

    public string EtFelt
    {
      get { return _etFel; }
      set { _etFel = value; }
    }

    public MinKlasse(string etFelt)
    {
      _etFel = etFelt;
    }

    public bool ErDeEns(string strengTilSammenligning)
    {
      if (_etFel == strengTilSammenligning)
        return true;
      else
        return false;
    }
  }
}

Det vil sige, alt der er public med stort forbogstav, og alle navne med camelcase.
Avatar billede nielle Nybegynder
23. juni 2006 - 11:48 #4
Mange firmaer definere deres egen kodestandard, og navngivningsstandard.

Men her er Microsfofts egne anbefaling:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnamingguidelines.asp

Desuden har Microsoft en tilsvarende anbefaling for XML-dokumenteringen:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcorixmldocumentation.asp
Avatar billede anhansen Nybegynder
23. juni 2006 - 14:47 #5
Det vigtigste er nok blot at vælge en stil - og så blive enige med sine evt. kolleger om denne. Selvf. er det nemmest at komme videre til evt. andre job hvis man "læner" sig op ad en kendt standard.

Jeg er selv tilhænger af flg:
Variabler, metoder, properties og klasser er navngivet med camelCase.
Variabler og metoder starter med lille bogstav
Properties og klasser starter med stort bogstav
Private variabler starter med underscore(_).
Forms elementer bliver prefixet med type, Button=btn, TextBox=tb, Panel=pnl osv..

Det er vist de grundregler jeg prøver på at følge.. :-)
Avatar billede arne_v Ekspert
24. juni 2006 - 01:53 #6
Jeg vil klart anbefale at følge Microsofts anbefalinger.

Man kan bruge et tool til automatisk at checke for om koden følger kode stilen.

Til C# kan man bruge FxCop !
Avatar billede golyf Nybegynder
26. juni 2006 - 10:07 #7
Jeg valgte at spørge jer, da jeg formoder i har læst, analyseret og valgt en måde at bruge. Jeg har desværre ikke tid til at læse de guidlines igennem og forholde mig til dem, så jeg ligger mig lidt op af anhansen, hmortensen og innercitydk.
Tak for linkene.

Er FxCop freeware og/eller hvor hentes den?

Point til alle, da alle har bidraget flot.

Tak
Avatar billede innercitydk Nybegynder
26. juni 2006 - 10:18 #8
Takker
Avatar billede hmortensen Nybegynder
26. juni 2006 - 11:07 #9
Så vidt jeg kan se, anbefaler MS metode navne med stort forbogstav.
Avatar billede nielle Nybegynder
26. juni 2006 - 11:54 #10
variabel-navne anbefales med camelCase. Property-navne anbefales med stort forbogstav - CamelCase.
Avatar billede Syska Mester
26. juni 2006 - 15:02 #11
Avatar billede golyf Nybegynder
27. juni 2006 - 13:36 #12
Så må de sidste ha' meldt sig.
Mange tak for hjælpem og god sommer :-)
Avatar billede innercitydk Nybegynder
27. juni 2006 - 14:13 #13
Tak i lige måde :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester