Programmeerstijl
description
Transcript of Programmeerstijl
Programmeerstijl
Hoofdstuk 21
Hoofdstuk 21 Visual Basic .NET voor studenten 2
Inleiding
Belang van een goede programmeerstijl:Programma’s worden door meerdere mensen
gemaakt Onderlinge afspraken maken Leesbaarheid (irritatie vermijden) Consistentie, uniforme code
Hergebruik van code bevorderen Objecten Componenten
Hoofdstuk 21 Visual Basic .NET voor studenten 3
Programmalay-out
NamenBetekenisvolBegint met Hoofdletter: keyword, klasse,
methode en propertyBegint met kleine letter: parameter, lokale
variabele, instantievariabeleHernoem de namen van components
gegenereerd door VSGeen set/get in de naam van een property
Hoofdstuk 21 Visual Basic .NET voor studenten 4
Programmalay-out
Inspringen In principe niet nodig, maar erg aangeraden IDE helpt hierbijLange regels opsplitsen ( _ juist plaatsen)
WitregelsScheiden van methoden, member variabelen,
properties#Region scheiden van blokken code
1 klasse per bestand
Hoofdstuk 21 Visual Basic .NET voor studenten 5
Commentaar
Niet herhalen wat code al duidelijk maakt Duidelijke code behoeft weinig tot geen
commentaar Wees spaarzaam Wel belangrijk: API documentatie
Wat betekent de klasseWat doen Public methoden en properties
Hoofdstuk 21 Visual Basic .NET voor studenten 6
Constanten
Verhogen leesbaarheid Sommigen prefereren hoofdletters
(bv MAXINDEX)
Hoofdstuk 21 Visual Basic .NET voor studenten 7
Klassen Bevorderen hergebruik, flexibiliteit Lengte van een klasse beperken Lengte van een methode beperken Inkapseling Naamgeving Volgorde:
1. Instantievariabelen2. Public methoden3. Properties4. Private methoden
Hoofdstuk 21 Visual Basic .NET voor studenten 8
Geneste IfsIf a > b Then If a > c Then largest = a Else largest = c End IfElse If b > c Then largest = b Else largest = c End IfEnd If
If a >= b And a >= c Then largest = aEnd IfIf b >= a And b >= c Then largest = bEnd IfIf c >= a And c >= b Then largest = cEnd If
If a >= b And a >= c Then largest = aElseIf b >= a And b >= c Then largest = bElse largest = cEnd If
Hoofdstuk 21 Visual Basic .NET voor studenten 9
Geneste lussen
yCoord = 10For floor = 0 To floors xCoord = 10 For flat = 0 To flats paper.DrawRectangle(myPen, xCoord, yCoord, 10, 10) xCoord = xCoord + 15 Next yCoord = yCoord + 15Next
Aparte methode van maken is duidelijker
Hoofdstuk 21 Visual Basic .NET voor studenten 10
Geneste lussenyCoord = 10For floor = 0 To floors DrawFloor(yCoord, flats) yCoord = yCoord + 15Next
Private Sub DrawFloor(ByVal yCoord As Integer, ByVal flats As Integer) Dim xCoord As Integer = 10 Dim flat As Integer Dim paper As Graphics
paper = PictureBox1.CreateGraphics() Dim myPen As Pen = New Pen(Color.Black)
For flat = 0 To flats paper.DrawRectangle(myPen, xCoord, yCoord, 10, 10) xCoord = xCoord + 15 NextEnd Sub
Hoofdstuk 21 Visual Basic .NET voor studenten 11
Ingewikkelde voorwaardenConst maxIndex As Integer = 99Dim table(maxIndex) As Integer
table(0) = -99table(23) = 42table(99) = 99
Dim wanted As IntegerDim index As Integer
wanted = CInt(InputTextBox.Text)
index = 0While index < maxIndex And table(index) <> wanted index = index + 1End WhileIf table(index) = wanted Then ResultTextBox.Text = "found"Else ResultTextBox.Text = "not found"End If
Hoofdstuk 21 Visual Basic .NET voor studenten 12
Ingewikkelde voorwaardenConst maxIndex As Integer = 99Dim table(maxIndex) As Integer
table(0) = -99table(23) = 42table(99) = 99
Dim wanted As IntegerDim index As Integer
Dim state As IntegerConst stillSearching As Integer = 0Const found As Integer = 1Const notFound As Integer = 2
wanted = CInt(InputTextBox.Text)...
Hoofdstuk 21 Visual Basic .NET voor studenten 13
Ingewikkelde voorwaardenindex = 0state = stillSearchingWhile state = stillSearching If wanted = table(index) Then state = found ElseIf index = maxIndex Then state = notFound End If index = index + 1End While
If state = found Then ResultTextBox.Text = "found"Else ResultTextBox.Text = "not found"End If
Hoofdstuk 21 Visual Basic .NET voor studenten 14
Documentatie
ProgrammaspecificatieWat moet het programma doen?
Screenshots Broncode met commentaar Ontwerp (UML diagrammen) Testen Geschiedenis van alle wijzigingen gebruikershandleiding
Hoofdstuk 21 Visual Basic .NET voor studenten 15
Achtergrondinformatie Stijl- en programmeerrichtlijnen van Microsoft voor .NET framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconNETFrameworkDesignGuidelines.asp
Documentatie systeem om HTML te genereren uit eigen VB code (zoals de online Help van VS)
http://www.codeplex.com/Sandcastle