Programmeerstijl

Post on 08-Feb-2016

22 views 0 download

description

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. - PowerPoint PPT Presentation

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