Hej alla nybörjare................. Hej Igen Igen som Sven brukar skriva. Hej igen Nix, peterh kan inte ta åt sig äran. Ordet används bla inom programmering. HejTill alla nybörjare snabbkurs i INDENTERING av er kod
Snabbkurs i indentering. Vad är nu detta då ?????
Jo för att er kod skall bli mer lättläst så skall ni indentera den. Om inte
för er egen skull så för andras skull som skall hjälpa er med era små
problem här i forumet.
Så här funkar det.
När man skriver loopar, if-satser och andra strukturer av kod så
indenterar man koden en nivå i exvis loopen för att markera att
denna kod exekveras som villkor av den yttre koden så att säga.
Exempel 1. For-Next loop
For X = 1 To 10
A = 5 * X 'Indenterat
Debug.Print A
Next X
Exempel 2. Nestlad For-Next loop
For X = 1 To 10
For Y = 1 To 10
A = X * Y
Debug.Print A
Next Y
Next X
Exempel 3. If-sats
If A = True Then
Debug.Print "A = True"
End If
Exempel 4. If-then-else-sats
If A = True then
Debug.Print "A = True"
Else
Debug.Print "A = False"
End If
Hoppas ni fattar galoppen. Jämför de två kodsnuttar som kommer
här nedan. Den ena indenterad och den andra är det inte. Jämför
vilken som är lättast att läsa.
Sample Code === Ej indenterad =========================
Private Sub Flex_Click()
Dim outData As String
'###################################################
' Skicka data till motspelare vid klick i gridden.
'###################################################
If Flex.Col = 0 Or Flex.Col = Flex.Cols - 1 Or Flex.Row = 0 Or Flex.Row = Flex.Rows - 1 Then
If jagKlient Then
MsgBox "Det är inte tillåtet att sätta X i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
Else
MsgBox "Det är inte tillåtet att sätta O i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
End If
Else
If Flex.Text = "" Then
outData = CStr(Flex.Col) & "," & CStr(Flex.Row)
If jagKlient = True Then
klientClick 'Fyll i den lokala flexgridden
outData = outData & ",X"
Klient.SendData outData
Else
serverClick 'Fyll i den lokala flexgridden
outData = outData & ",O"
Server.SendData outData
End If
Else
'Felaktigt placerad markering. Rutan ej tom
If jagKlient Then
MsgBox "Du kan inte sätta X i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
Else
MsgBox "Du kan inte sätta O i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
End If
End If
End If
End Sub
Sample Code === Ej indenterad =========================
Nu till samma subrutin fast denna är indenterad. Lägg märke till hur man
på ett enklare sätt kan utläsa programflödet. Samt att programmet
blir mycket lättare att felksöka.
Sample Code === Samma kod fast indenterad ===============
Private Sub Flex_Click()
Dim outData As String
'###################################################
' Skicka data till motspelare vid klick i gridden.
'###################################################
If Flex.Col = 0 Or Flex.Col = Flex.Cols - 1 Or Flex.Row = 0 Or Flex.Row = Flex.Rows - 1 Then
If jagKlient Then
MsgBox "Det är inte tillåtet att sätta X i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
Else
MsgBox "Det är inte tillåtet att sätta O i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
End If
Else
If Flex.Text = "" Then
outData = CStr(Flex.Col) & "," & CStr(Flex.Row)
If jagKlient = True Then
klientClick 'Fyll i den lokala flexgridden
outData = outData & ",X"
Klient.SendData outData
Else
serverClick 'Fyll i den lokala flexgridden
outData = outData & ",O"
Server.SendData outData
End If
Else
'Felaktigt placerad markering. Rutan ej tom
If jagKlient Then
MsgBox "Du kan inte sätta X i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
Else
MsgBox "Du kan inte sätta O i den rutan", vbOKOnly + vbInformation, "Ogiltigt drag"
End If
End If
End If
End Sub
Sample Code === Samma kod fast indenterad ===============
Snälla jag vill inte vara oförskämd men låt oss slippa se kod som inte
är indenterad.
/peterhSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
>Snälla jag vill inte vara oförskämd men låt oss slippa se kod som inte
>är indenterad.
"låt oss" ?? Vem har gjort dig till talesman för "oss" bör stå
"låt mig"
Blir väldigt misstänksam mot folk som skriver "Vi" och "Oss"
Fö. var inlägget vettigt, förutom att man inte behöver skriva
hundra programrader för att visa på en så enkel sak.
Tycker
Fabror SvenSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
Om man skriver på peterh :s vis här i Forumet och någon
tar en kopia , klistrar in i sin Vb Editor så kommer han/hon att
få en massa editorfel därför att det följer med en massa
space framför kodraderna.
DSSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
>Om man skriver på peterh :s vis här i Forumet och någon
>tar en kopia , klistrar in i sin Vb Editor så kommer han/hon att
>få en massa editorfel därför att det följer med en massa
>space framför kodraderna.
Japp de små kodraderna ovan skrev jag direkt i textarean lite svårt att
tabba i dem så det fick bli space.
Du SvenPon. Sättet som du gnäller på mig är på samma sätt som du
tycker Andreas Hillkvist gnäller på allt och alla. Consider that.
/PeterhSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
>Om man skriver på peterh :s vis här i Forumet och någon
>tar en kopia , klistrar in i sin Vb Editor så kommer han/hon att
>få en massa editorfel därför att det följer med en massa
>space framför kodraderna.
Jag har testat att klistra in alla exempel i Editorn och kört all kod
utan fel. Så där sket du nog i det blå skåpet sven. Det blev inte
ett enda editorfel. Däremot var det subrutiner som saknades från
den längre koden som genererade run-time fel.
/PeterhSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
Ordet indentering ?
Har du uppfunnit det eller finns det i svensk ordlista ?
När man skriver INDENTERING så uppfattas detta som att
du skriker (lite ofint om man nu skall kommentera språkval
som vissa har "pippi" på här i Forumet)
DSSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
Indentering (indragning)
"Använd fyra stegs indentering. Hur mycket man ska indentera beror bla lite grand på vilket språk man programmerar i, men i C förkommer oftast två, fyra eller åtta steg. I denna standard gäller fyra steg, pga följande: Indenterar man åtta steg behövs det inte många nivåer förrän det inte finns någon högermarginal kvar att skriva kommentarer i. Indenterar man två steg blir koden inte tillräckligt mycket förskjuten för att lätt uppfatta den som en separat nivå, eftersom man i C nästan enbart har vita ytor att visa blockstruktur med. "
Källa: http://www.nada.kth.se/kurser/su/DSS/stil/ckod/node13.html
Flera källor:
http://www.cb.uu.se/~torsten/ProgrTeknikQ1/kommentera_koden.html
http://www.ida.his.se/ida/~b95henth/procedurell/indentering.html
Skriver man i en mening ett ord med stora bokstäver så skriker han inte utan han förstärker enbart detta ord.
Exempel:
- Jag tycker du är en STOR skit!
Där förstärker jag ordet skit.
- JAG TYCKER DU ÄR EN STOR SKIT!
Nu skriker jag.
Och givetvis Sven så menar jag INTE dig med dessa ord hårda ord.
Sen tycker jag att peterh har en poäng även om jag tycker att skriver man några få kodrader i detta forum så spelar det ingen roll om använder indentering eller inte. Där emot så anser jag att det är en självklarhet när man kodar att använda denna teknik.
Lev väl
/JanneSv: Till alla nybörjare snabbkurs i INDENTERING av er kod
>Och givetvis Sven så menar jag INTE dig med dessa ord hårda ord.
HoHoHo :-) inte blev jag arg jag tycker om ett mustigt språk
Nu skall jag indentera till sovrummet God Natt
Jag har en son som i det millitära sökte in vid Intendenturen
men han kom inte in för han hade "Inte Den Turen"
ha det
Sven