150 likes | 246 Views
Programmeerstijl. Hoofdstuk 21. 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.
E N D
Programmeerstijl Hoofdstuk 21
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 Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
Constanten • Verhogen leesbaarheid • Sommigen prefereren hoofdletters(bv MAXINDEX) Visual Basic .NET voor studenten
Klassen • Bevorderen hergebruik, flexibiliteit • Lengte van een klasse beperken • Lengte van een methode beperken • Inkapseling • Naamgeving • Volgorde: • Instantievariabelen • Public methoden • Properties • Private methoden Visual Basic .NET voor studenten
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 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 Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
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 < maxIndex And table(index) <> wanted index = index + 1 End While If table(index) = wanted Then ResultTextBox.Text = "found" Else ResultTextBox.Text = "not found" End If Visual Basic .NET voor studenten
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) ... Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten
Documentatie • Programmaspecificatie • Wat moet het programma doen? • Screenshots • Broncode met commentaar • Ontwerp (UML diagrammen) • Testen • Geschiedenis van alle wijzigingen • gebruikershandleiding Visual Basic .NET voor studenten
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 Visual Basic .NET voor studenten