Ik had een vraagje met betrekking tot het schrijven van goede comments. Toen ik vandaag een aantal van mijn Java-scriptjes herbekeek viel het me op hoe veel ik wel gecomment had. (Hieronder een voorbeeld).
Op het eerste zicht lijkt er redelijk wat gecomment te zijn, en dat is ook zo! Het voordeel is wel dat je met alleen het lezen van de comments de hele flow - voor zover we hier van een flow kunnen spreken - begrijpt.
Op de universiteit werd hier nog niet veel aandacht aan besteed. Er wordt wel een voorbeeld gegeven van overbodig en onnodig commenten. Ik moet bekennen dat in het onderstaande voorbeeld zulke voorbeelden staan (zoals Prompt input), terwijl ik het net heel overzichtelijk vind om aan te geven waar ik user input vraag.
Mijn vraag is als volgt: Maak ik hier te vaak gebruik van comments - als beginnend programmeur ? Of heb ik net te veel onnodig gecomment en te weinig goed gecomment? Hebben jullie goede raad voor mij in verband met commenting (bedrijfsleven, projecten, school)?
Op het eerste zicht lijkt er redelijk wat gecomment te zijn, en dat is ook zo! Het voordeel is wel dat je met alleen het lezen van de comments de hele flow - voor zover we hier van een flow kunnen spreken - begrijpt.
Op de universiteit werd hier nog niet veel aandacht aan besteed. Er wordt wel een voorbeeld gegeven van overbodig en onnodig commenten. Ik moet bekennen dat in het onderstaande voorbeeld zulke voorbeelden staan (zoals Prompt input), terwijl ik het net heel overzichtelijk vind om aan te geven waar ik user input vraag.
Mijn vraag is als volgt: Maak ik hier te vaak gebruik van comments - als beginnend programmeur ? Of heb ik net te veel onnodig gecomment en te weinig goed gecomment? Hebben jullie goede raad voor mij in verband met commenting (bedrijfsleven, projecten, school)?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
| import java.util.Scanner; import java.lang.Integer; class OZ2OG2NickVannieuwenhoven { public static void main(String[] args) { //Declaration and Initialisation boolean bBreak = false, bEnd = false, bFirstTime = true, bSorting = true, bCheckAgain = false; int iCurrent = 0, iNext = 0; String sPrint = "", sHow = "", sScan = "end"; Scanner scan = new Scanner(System.in); //Prompt input System.out.println("Voer een rij getallen in gescheiden door een witruimte ('end' om te beeindigen):"); //Looping through integers to determine if they form an ascending or descending row. do { //Current value has to be the previous value. If this is the first run, read the first integer. iCurrent = bFirstTime ? scan.nextInt(): iNext; //Determine if the next integer exists. if(scan.hasNextInt()) iNext = scan.nextInt(); //End loop if the next value is not an integer. else bEnd = true; //Determine if the input is descending. Only check the first time. if( ((iCurrent > iNext) && bFirstTime) || ((iCurrent > iNext) && bCheckAgain) ) { bSorting = false; bFirstTime = false; bCheckAgain = false; } //Determine if the input is ascending. Only check the first time. else if( ((iCurrent < iNext) && bFirstTime) || ((iCurrent < iNext) && bCheckAgain)) { bSorting = true; bFirstTime = false; bCheckAgain = false; } //If the input is neither ascending nor descending, check on the next loop. else if( ((iCurrent == iNext) && bFirstTime) || ((iCurrent == iNext) && bCheckAgain)) { System.out.println("equal"); bFirstTime = false; bCheckAgain = true; } //If the input is ought to be descending but has an element that is greater than the previous, break the loop. else if(!bSorting && (iCurrent < iNext) ) bBreak = true; //If the input is ought to be ascending but has an element that is smaller than the previous, break the loop. else if(bSorting && (iCurrent > iNext) ) bBreak = true; } //Loop until the end is reached, or if the input is neither ascending nor descending. while(!bBreak && !bEnd); //Determine how the order of elements was. (Determined in the first loop). if(!bCheckAgain) sHow = bSorting ? "stijgend": "dalend"; else sHow = "constant"; //Determine if the elements were ascending, descending, constant or not ordered. sPrint = bBreak ? "Deze rij is niet stijgend of dalend": "Deze rij is " + sHow; //Print outcome System.out.println(sPrint); } } |
Performance is a residue of good design.