Programmeerstijl

15
Programmeerstij l Hoofdstuk 21

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

Page 1: Programmeerstijl

Programmeerstijl

Hoofdstuk 21

Page 2: Programmeerstijl

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

Page 3: Programmeerstijl

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

Page 4: Programmeerstijl

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

Page 5: Programmeerstijl

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

Page 6: Programmeerstijl

Hoofdstuk 21 Visual Basic .NET voor studenten 6

Constanten

Verhogen leesbaarheid Sommigen prefereren hoofdletters

(bv MAXINDEX)

Page 7: Programmeerstijl

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

Page 8: Programmeerstijl

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

Page 9: Programmeerstijl

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

Page 10: Programmeerstijl

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

Page 11: Programmeerstijl

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

Page 12: Programmeerstijl

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)...

Page 13: Programmeerstijl

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

Page 14: Programmeerstijl

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

Page 15: Programmeerstijl

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