02-17-2011, 01:37 AM
Improve your Coding
This is a small 'guide' on how to improve your coding and make it more clear. You can keep the overview, following these tips.
Rename your controls
This is important to actually keep your code clean.
Do not keep the default control names like Button1/Textbox1.
Rename them.
Textbox1 = txtResult
Button1 = cmdCalculate
You can now easily recognize your events in your code, instead of having to search them.
Comment your code
This is obvious. You may forget stuff later on, therefore you can just add comments into your code.
Code:
'[color=#32CD32]comment [/color]
Use your datatypes correctly
Code:
Dim int as integer = "5"
Dim str as string = "Sample Text"
txtResult.text = int
Integer <> String. Therefore the correct way is:
Code:
Dim int as integer = 5
Shorten your code
Instead of writing:
Code:
txtResult.text = txtResult.text + int
Code:
txtResult.text += int
Using
Code:
Dim str as IO.Streamreader = New Streamreader("C:\test.txt")
txtResult.text = str.readtoend
str.dispose
Code:
Using str as new Io.Streamreader("C:\test.txt")
txtResult.text = str.readtoend
End Using
Case instead of If
Code:
If txtResult.text = "a" Then
Msgbox("Newb")
End if
If txtResult.Text = "b" Then
Msgbox("Newbie")
End if
If txtResult.text = "c" Then
Msgbox("Noob")
End if
Code:
Select Case txtresult.Text
Case "a"
Msgbox("Newb")
Case "b"
Msgbox("Newbie")
Case "c"
Msgbox("PM Me xD")
End Select
If-Structures
If condition Then
[statements]
ElseIf condition Then
[statements]
Else
[statements]
End If
Code:
If textbox1.text = "HakerDz"
'do something
elseif Textbox1.text = "HakerDz"
'do something else
else 'if it's neither HakerDz nor HakerDz
'something
end if
Using Case...
Code:
Select Case Textbox1.Text
Case "meh"
'do something
Case "Duh"
'do something else
Case Else
'something
end select
Code:
If Textbox1.text <> "" then 'if it's not empty
end if
If not...
Code:
If not textbox1.text = "" then
end if
Declare your own Subs/Function
You may have a lot of repetitive code. Therefore, you can shorten your code a lot by building functions or subs.
Structure
Code:
Dim firstPos as point
Dim firstDir as string
Dim firstFrame as integer
Dim secondPos as point
Dim secondDir as string
Dim secondFrame as integer
Dim thirdPos as point
Dim thirdDir as string
Dim thirdFrame as integer
Code:
Structure meh
Dim Pos As Point
Dim Dir As String
Dim Frame As Integer
end structure
dim first as meh
dim second as meh
dim third as meh
Booleans
Code:
Dim b as boolean 'by default the boolean is FALSE
Code:
If b = true then
'do something
end if
If b = false Then
'do something
end if
Code:
if b then 'true
'do something
else 'false
'do something
end if
Try-Catch
To avoid your program from closing when an error appears, you can use Try-Catch Blocks.
Code:
Try
Timer.Value = txtResult.Text 'user may enter a letter instead of a number
Catch ex as exception
Msgbox(ex.Tostring) 'optional
End try
However, do not use them if they are not necessary.
Code:
Try
Timer.Value = nudValue.Value 'NumericUpDown
Catch ex as exception
end try
Regions
You can use Regions to make your code more clear.
Code:
#Region "Settings"
Private Sub spStartup_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles spStartup.CheckedChanged
if spstartup then
my.settings.spStartup = true 'run singleplayer on startup
my.settings.save
end if
End sub
Private Sub mpStartup_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mpStartup.CheckedChanged
if spstartup then
my.settings.mpStartup = true 'run multiplayer on startup
my.settings.save
end if
End sub
#End region
Good Luck , i hope you will like IT.!
HakerDz