Avatar billede conrad Nybegynder
22. oktober 2003 - 10:36 Der er 17 kommentarer og
2 løsninger

kommentarer - best practice

Hvad er den bedste måde at kommentere på? Det afhænger selvfølgelig af best practice omkring pågældende projekt/kode etc - men er der en eller anden "standard" man kan refere til for at begrunde sit valg?

1)
void func()
{
  //assign s
  int s = 0;

}
2)
void func()
{
  int s= 0;
  //assign s
}

eksemplerne er med vilje holdt simple ;)
Avatar billede snowball Novice
22. oktober 2003 - 10:37 #1
3)
void func()
{
  int s= 0; //assign s
}

Sådan gør jeg normalt. Så er man ikke i tvivl om det er den ovenstående eller nedenstående linie man har lavet en kommentar til.

Snowball
Avatar billede arne_v Ekspert
22. oktober 2003 - 10:39 #2
Det er absolut mest almindeligt at kommentere ovenover.

Man kommenterer aldrig nedenunder.

Nogle gange kommenterer man bagved som snowball foreslår.
Avatar billede angak Nybegynder
22. oktober 2003 - 10:40 #3
Problemet ved at sætte det på samme linje, vil forekomme hvis man udskriver kildekoden. Det vil blive udskrevet:

...
    int s = 0; // Sindssyg lang kommentar som
bare bliver ved og ved
...

Så er det lige pludselig mere forvirrende, efter min mening...
Avatar billede snowball Novice
22. oktober 2003 - 10:42 #4
angak: Det er selvfølgelig rigtigt nok. Der er fordele og ulemper ved alt ;)

conrad: Men skal jeg vælge mellem dine 2 forslag, så vil jeg også helt klart vælge nr. 1 da det virker mest logisk at kommentere den linie man skal til at udføre.

Snowball
Avatar billede conrad Nybegynder
22. oktober 2003 - 10:45 #5
jeg var godt klar over 3), problemet er at jeg altid har brugt 1) eller 3) til korte kommentarer, men nu arbejder videre med noget kode som benytter et mix af 1) og 2).

Da det er til skolearbejde ville jeg bare gerne kunne sige "at 1) er valgt da det er beskrevet bla bla microsoft, sun eller lignende" istedet for at sige "1 er valgt da jeg synes det er bedst"
Avatar billede arne_v Ekspert
22. oktober 2003 - 10:48 #6
#2 kan på det bestemteste frarådes da det vil forvirre alle der læser
koden.

Men jeg har ikke en referance til en halv-officielt "C/C?+ coding standard"
ligeosm man kender det fra Java.
Avatar billede conrad Nybegynder
22. oktober 2003 - 10:55 #7
ok, men mon ikke også det går at skrive at 1) er valgt da det synes at være det mest udbredte og virker mest logisk. Lægger i nogle svar?
Avatar billede soreno Praktikant
22. oktober 2003 - 11:00 #8
Avatar billede olennert Nybegynder
22. oktober 2003 - 11:01 #9
Jeg kan på det varmeste anbefale doxygen, http://www.doxygen.org
Så har du

/**
  En enkelt linie der beskriver funktionen.
  En mere grundig beskrivelse, hvor du eksempelvis kan skrive at din kommentar
  har en hel del til fælles med klassikeren Krig og Fred. Eksempelvis bruger
  begge alfabetet.

  @return Hvad returnerer funktionen? Kan undlades ved void
  @param Hvad er den første parameter?
  @param Hvad er den anden parameter? Og så videre
  @throw ExceptionType Denne undtagelse kastes når der divideres med nul
*/
int func() {
  int s = 0;
  return s;
}

Altså, spar på kommentarerne inden i selve funktionen. Kommenter kun kodestumper der er besværlige at finde ud af, men lav til gengæld en rigtig god dokumentation af hvad pokker funktionen gør, hvad dens grænseflade er og den slags.

Så kan man med doxygen automatisk lave en hel del dokumentation, ud fra disse mærker (@param og så videre).
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:04 #10
soreno>

Der er mange coding standards for C/C++ men problemet er at der ikke er en
officiel/halv-officiel.

Din er ligeså god som enhver andens.
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:04 #11
olennart>

Der er vist ingen tvivl om hvor doxygen har fået deres inspiration fra !

:-)
Avatar billede soreno Praktikant
22. oktober 2003 - 11:11 #12
Når det er til en skoleopgave synes jeg,

det ville være en god ide at kigge flere forskellige coding
standarder igennem, altså hvilke fordele/ulemper gruppen
synes der er ved de forskellige coding standarder.

Dernæst laver gruppen sin egen coding standard ved at
kombinere fordele fra flere coding standarder.
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:15 #13
Uanset hvilken standard man vælger er det ihvertfald vigtigt at man
overholder den.

Men der er mange forskellige meninger om kommentarer, placering af {,
hvor meget man skal rykke ind, while(1) versus for(;;) etc..
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:15 #14
og et svar
Avatar billede conrad Nybegynder
22. oktober 2003 - 11:17 #15
gruppen = mig  + 2 månder til aflevering -> - tid til den slags
Avatar billede conrad Nybegynder
22. oktober 2003 - 14:18 #16
hvis der er andre end arne der vil have point så læg et svar
Avatar billede snowball Novice
22. oktober 2003 - 14:20 #17
Tja, nu du "tvinger" mig ;)

Snowball
Avatar billede olennert Nybegynder
22. oktober 2003 - 14:22 #18
arne_v>

Jeps. Javadoc er en udmærket ting, også i C++-verdenen.
Avatar billede conrad Nybegynder
23. oktober 2003 - 09:12 #19
Tak for hjælpen
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
Kategori
Kurser inden for grundlæggende programmering

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