Programmeerstijl Hoofdstuk 21
Visual Basic.NET voor studenten2 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 studenten3 Programmalay-out Namen Betekenisvol Begint met Hoofdletter: keyword, klasse, methode en property Begint met kleine letter: parameter, lokale variabele, instantievariabele Hernoem de namen van components gegenereerd door VS Geen set/get in de naam van een property
Hoofdstuk 21 Visual Basic.NET voor studenten4 Programmalay-out Inspringen In principe niet nodig, maar erg aangeraden IDE helpt hierbij Lange regels opsplitsen ( _ juist plaatsen) Witregels Scheiden van methoden, member variabelen, properties #Region scheiden van blokken code 1 klasse per bestand
Hoofdstuk 21 Visual Basic.NET voor studenten5 Commentaar Niet herhalen wat code al duidelijk maakt Duidelijke code behoeft weinig tot geen commentaar Wees spaarzaam Wel belangrijk: API documentatie Wat betekent de klasse Wat doen Public methoden en properties
Hoofdstuk 21 Visual Basic.NET voor studenten6 Constanten Verhogen leesbaarheid Sommigen prefereren hoofdletters (bv MAXINDEX )
Hoofdstuk 21 Visual Basic.NET voor studenten7 Klassen Bevorderen hergebruik, flexibiliteit Lengte van een klasse beperken Lengte van een methode beperken Inkapseling Naamgeving Volgorde: 1. Instantievariabelen 2. Public methoden 3. Properties 4. Private methoden
Hoofdstuk 21 Visual Basic.NET voor studenten8 Geneste Ifs If a > b Then If a > c Then largest = a Else largest = c End If Else If b > c Then largest = b Else largest = c End If If a >= b And a >= c Then largest = a End If If b >= a And b >= c Then largest = b End If If c >= a And c >= b Then largest = c End If If a >= b And a >= c Then largest = a ElseIf b >= a And b >= c Then largest = b Else largest = c End If
Hoofdstuk 21 Visual Basic.NET voor studenten9 Geneste lussen yCoord = 10 For floor = 0 To floors xCoord = 10 For flat = 0 To flats paper.DrawRectangle(myPen, xCoord, yCoord, 10, 10) xCoord = xCoord + 15 Next yCoord = yCoord + 15 Next Aparte methode van maken is duidelijker
Hoofdstuk 21 Visual Basic.NET voor studenten10 Geneste lussen yCoord = 10 For floor = 0 To floors DrawFloor(yCoord, flats) yCoord = yCoord + 15 Next 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 Next End Sub
Hoofdstuk 21 Visual Basic.NET voor studenten11 Ingewikkelde voorwaarden Const maxIndex As Integer = 99 Dim table(maxIndex) As Integer table(0) = -99 table(23) = 42 table(99) = 99 Dim wanted As Integer Dim index As Integer wanted = CInt(InputTextBox.Text) index = 0 While index wanted index = index + 1 End While If table(index) = wanted Then ResultTextBox.Text = "found" Else ResultTextBox.Text = "not found" End If
Hoofdstuk 21 Visual Basic.NET voor studenten12 Ingewikkelde voorwaarden Const maxIndex As Integer = 99 Dim table(maxIndex) As Integer table(0) = -99 table(23) = 42 table(99) = 99 Dim wanted As Integer Dim index As Integer Dim state As Integer Const stillSearching As Integer = 0 Const found As Integer = 1 Const notFound As Integer = 2 wanted = CInt(InputTextBox.Text)...
Hoofdstuk 21 Visual Basic.NET voor studenten13 Ingewikkelde voorwaarden index = 0 state = stillSearching While state = stillSearching If wanted = table(index) Then state = found ElseIf index = maxIndex Then state = notFound End If index = index + 1 End While If state = found Then ResultTextBox.Text = "found" Else ResultTextBox.Text = "not found" End If
Hoofdstuk 21 Visual Basic.NET voor studenten14 Documentatie Programmaspecificatie Wat moet het programma doen? Screenshots Broncode met commentaar Ontwerp (UML diagrammen) Testen Geschiedenis van alle wijzigingen gebruikershandleiding
Hoofdstuk 21 Visual Basic.NET voor studenten15 Achtergrondinformatie Stijl- en programmeerrichtlijnen van Microsoft voor.NET framework us/cpgenref/html/cpconNETFrameworkDesignGuidelines.asp us/cpgenref/html/cpconNETFrameworkDesignGuidelines.asp Documentatie systeem om HTML te genereren uit eigen VB code (zoals de online Help van VS)