d0ppler Skrevet 3. mai 2004 Del Skrevet 3. mai 2004 (endret) Etter å ha lest ganske mye dårlig formatert vb-kode her på forumet, så er dette mitt forsøk på å bedre opp i dette. Det er ikke noe som er rett eller galt når det gjeder formatering for en kompilator, men for et menneske-øye så kan en kode bevege seg fra å være avskyelig til en "fryd" å se på.. først et eksempel på dårlig formatert kode: Public Sub FindNextRegExp(pattern As String, InfoLabel As Label) On Error GoTo regExHandler If NewPattern = True Then Set MyRegEx = New RegExp MyRegEx.Global = True If MatchCaseCheckBox.value = vbChecked Then MyRegEx.IgnoreCase = False Else MyRegEx.IgnoreCase = True End If MyRegEx.pattern = pattern MyRegEx.MultiLine = True Set Matches = MyRegEx.Execute(frmMain.txtText.Text) MatchIndex = 0 NewPattern = False End If If MyRegEx.test(frmMain.txtText.Text) = True Then If OptionDown.value = True Then If regExUp = True Then MatchIndex = MatchIndex + 1 MatchIndex = MatchIndex + 1 If MatchIndex > Matches.Count Then MatchIndex = 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex - 1) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = False InfoLabel.Caption = "Match " & MatchIndex & " of " & Matches.Count Else If regExUp = False Then MatchIndex = MatchIndex - 1 MatchIndex = MatchIndex - 1 If MatchIndex < 0 Then MatchIndex = Matches.Count - 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = True InfoLabel.Caption = "Match " & MatchIndex + 1 & " of " & Matches.Count End If frmMain.SearchText = Match.value Else InfoLabel.Caption = "Expression not found!" End If regExHandler: If Err.number <> 0 Then InfoLabel.Caption = Err.Description & " (" & Err.number & ")" End Sub håpløst, ikkesant??? cluet er å indentere hver "blokk" med feks en tab, da vil lesbarheten øke betraktelig. Dette er samme kode skrevet med innrykk: Public Sub FindNextRegExp(pattern As String, InfoLabel As Label) On Error GoTo regExHandler If NewPattern = True Then Set MyRegEx = New RegExp MyRegEx.Global = True If MatchCaseCheckBox.value = vbChecked Then MyRegEx.IgnoreCase = False Else MyRegEx.IgnoreCase = True End If MyRegEx.pattern = pattern MyRegEx.MultiLine = True Set Matches = MyRegEx.Execute(frmMain.txtText.Text) MatchIndex = 0 NewPattern = False End If If MyRegEx.test(frmMain.txtText.Text) = True Then If OptionDown.value = True Then If regExUp = True Then MatchIndex = MatchIndex + 1 MatchIndex = MatchIndex + 1 If MatchIndex > Matches.Count Then MatchIndex = 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex - 1) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = False InfoLabel.Caption = "Match " & MatchIndex & " of " & Matches.Count Else If regExUp = False Then MatchIndex = MatchIndex - 1 MatchIndex = MatchIndex - 1 If MatchIndex < 0 Then MatchIndex = Matches.Count - 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = True InfoLabel.Caption = "Match " & MatchIndex + 1 & " of " & Matches.Count End If frmMain.SearchText = Match.value Else InfoLabel.Caption = "Expression not found!" End If regExHandler: If Err.number <> 0 Then InfoLabel.Caption = Err.Description & " (" & Err.number & ")" End Sub Kanskje det ser litt autistisk ut, men å være streng mot seg selv når man skriver kode vil gi deg "pay-off" når du selv skal gå inn å endre den ved en senere anledning. Dette setter jeg som ikke noe "krav", men det kan også være lurt å legge inn et par ekstra linjseskift som dette : Public Sub FindNextRegExp(pattern As String, InfoLabel As Label) On Error GoTo regExHandler If NewPattern = True Then Set MyRegEx = New RegExp MyRegEx.Global = True If MatchCaseCheckBox.value = vbChecked Then MyRegEx.IgnoreCase = False Else MyRegEx.IgnoreCase = True End If MyRegEx.pattern = pattern MyRegEx.MultiLine = True Set Matches = MyRegEx.Execute(frmMain.txtText.Text) MatchIndex = 0 NewPattern = False End If If MyRegEx.test(frmMain.txtText.Text) = True Then If OptionDown.value = True Then If regExUp = True Then MatchIndex = MatchIndex + 1 MatchIndex = MatchIndex + 1 If MatchIndex > Matches.Count Then MatchIndex = 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex - 1) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = False InfoLabel.Caption = "Match " & MatchIndex & " of " & Matches.Count Else If regExUp = False Then MatchIndex = MatchIndex - 1 MatchIndex = MatchIndex - 1 If MatchIndex < 0 Then MatchIndex = Matches.Count - 1 With frmMain.txtText Set Match = Matches.Item(MatchIndex) .SelStart = Match.FirstIndex .SelLength = Match.length End With regExUp = True InfoLabel.Caption = "Match " & MatchIndex + 1 & " of " & Matches.Count End If frmMain.SearchText = Match.value Else InfoLabel.Caption = "Expression not found!" End If regExHandler: If Err.number <> 0 Then InfoLabel.Caption = Err.Description & " (" & Err.number & ")" End Sub det var det jeg ville si, og lykke til med programmeringen! Endret 3. mai 2004 av dga01 Lenke til kommentar
aadnk Skrevet 7. mai 2004 Del Skrevet 7. mai 2004 Jeg må innrømme at jeg har alltid vært litt lat i å formatere koden i programmene mine. Dette er spesielt fordi jeg lærte programmering ved å forstå forskjellige eksempler på internett. Som resultat av å observere så mangen formateringer gad jeg blaffen i det hele og ungikk denne ganske nyttige programmeringsstilen. I det siste har jeg forbedret meg, blant annet med å rykke inn ett hakk med alle IF, FOR, DO osv. men jeg holder fremdeles fast ved den gamle stilen i begynnelsen av prosedyrer. (Spesielt fordi jeg har så lite skjerm). Men guiden din klarerte mye. Takk. Lenke til kommentar
bjovas Skrevet 5. desember 2004 Del Skrevet 5. desember 2004 Når man må plukke fren gammel kode, så gjør det stor forskjell på om han har formattert og dokumentert koden sin, eller ikke. Så jeg vil bare anbefale alle og gå i gang med dette først som sist. Lenke til kommentar
Steinmann Skrevet 5. desember 2004 Del Skrevet 5. desember 2004 kansje litt mye spacing på den siste der, men bra å holde kode som hører sammen i blokker. Men linjeskift i en if .. then .. else med 1 linje kode tror jeg at jeg hadde droppa. Gode kommentarer er også god standard(ikke at jeg gjør det) Lenke til kommentar
aadnk Skrevet 19. september 2005 Del Skrevet 19. september 2005 Fin bump. Men, nå er det mer enn et år siden jeg gikk inn på forbedringens sti, og den dag i dag skjemmes jeg i aller høyste grad når jeg ser på mine eldre koder. Innrykk er like naturlig nå som stor forbokstav i setninger og avsnitt i norsktekster. Men, kanskje jeg er litt FOR raus hva kommentarer angår - ofte legger jeg ved en eller annen irrelevant kommentar kun for grønnfargens skyld. Når bør man egentlig inkludere en beskrivende kommentar? Lenke til kommentar
gogodidi Skrevet 28. september 2005 Del Skrevet 28. september 2005 hehe jeg gidder ikke egang å se på mine første linjer med PHP men, jeg tror at min kode ser mye renere ut nå. Bra at noen sa at det er plass til forbedring da! Lenke til kommentar
gozzer Skrevet 2. oktober 2005 Del Skrevet 2. oktober 2005 Når bør man egentlig inkludere en beskrivende kommentar? Man bør unngå å kommentere hver eneste lille ting man gjør. Må man kommentere slike ting for å forstå koden ved en senere anledning, har man som regel skrevet en særdeles rotete og dårlig kode. Nå vet jeg ikke om det er noen 'regler' anngående kommentering, men personlig kommenterer jeg i allefall blokker med kode. Eks. // Henter ned variabler *hente mass variabler og gjøre det som trengs* // Validering *masse kjedelig validering av brukers input* // Hva som skal gjøres, basert på input *som regel en switch, fra min side i allefall, der man enten lagrer noe eller gjør noe annet lurt* Vet ikke helt om det gav noen mening, men det var verdt et forsøk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå