伊莉討論區
標題:
個人的寫程式小技巧
[打印本頁]
作者:
tryit244178
時間:
2016-12-3 10:16 AM
標題:
個人的寫程式小技巧
本帖最後由 tryit244178 於 2016-12-5 11:00 PM 編輯
想要漂亮的原始碼,除了有意義的變數宣告外
提供一下我個人寫程式的小技巧
讓有興趣的人參考參考
=====================================
模組化你的程式碼!
看看下面的程式碼…
Sub TestA()
Text1.Text = "TestA"
Button1.Enabled = False
i = 1
End Sub
Sub TestB()
Text1.Text = "TestB"
Button1.Enabled = True
i = 1
End Sub
.
.
.
複製代碼
仔細一看,內容都是類似的!
寫個副程式,把它們包裝起來吧!
Sub Test(ByVal strValue As String, ByVal blnValue As Boolean)
Text1.Text = strValue
Button1.Enabled = blnValue
i = 1
End Sub
複製代碼
=====================================
用函數來傳回布林值!
臨時想不出例子,總之很好用!!
Function CheckState() As Boolean
[程序]
Return True
End Fucntion
If CheckState = True Then
[程序]
End If
複製代碼
=====================================
假設有個整數變數 i ,它會記錄執行後的結果
我們會用它記錄的結果來執行程序
If i = 1 Then
[程序]
End If
If i = 2 Then
[程序]
End If
.
.
.
複製代碼
或是
If i = 1 Then
[程序]
ElseIf i = 2 Then
[程序]
ElseIf i = 3 Then
.
.
.
End If
複製代碼
比起用If一行一行判斷,改用Select Case吧!
Select Case i
Case 1
[程序]
Case 2
[程序]
.
.
.
End Select
複製代碼
=====================================
寫個從1加到10的程式碼
Dim intCount As Integer = 0
For i As Integer = 1 To 10
intCount += i
Next
複製代碼
有個自已呼叫自已的方法,叫做遞迴!(這個有好有壞,但很華麗XD)
Function Count(ByVal intValue As Integer) As Integer
If intValue = 0 Then Exit Function
Return intValue + Count(intValue - 1)
End Function
'傳回55
Debug.Print(Count(10))
複製代碼
=====================================
其他的還沒想到,歡迎補充
作者:
jerick
時間:
2016-12-5 10:07 AM
遞迴是很好用,
不過用的時候要小心一點,
初學者很容易不小心跳不出來。
作者:
dashixiong168
時間:
2017-1-7 10:37 PM
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
johnwanz
時間:
2017-1-16 09:28 AM
前面的例子, 可以簡單彙整成幾個條列,
* Duplicated code (重構-壞味道)
* 避免直接存取變量, 如:OO常見get/set
* 狀態機處理模式
網上很多編程原則可以參考, 像是,
* SOLID
* 重構書中所提的壞味道
* 編碼風格
(各公司組織, 語法, 甚至於各個專案, 都可以定義; 重點在一個專案中應該一致)
每個步驟都不是很特別, 都是很常見的語法, 差別只在於, 願不願意去用; 以及是否會去思考, 用與不用的差別.
因為不是全部都用就比較好; 會帶來某些優勢的作法, 也會伴隨某些代價, 要知道如何取捨.
作者:
zxc693491
時間:
2017-3-23 01:18 AM
本帖最後由 zxc693491 於 2017-3-23 01:19 AM 編輯
我認為初學先多看看別人寫的,並去理解會比較好上手
畢竟人類一開始都是靠著模仿成長的,成熟了自然會獨立
舉自己當例子,排列一直是程式設計很重要的一個概念
C=A:A=B:B=C,如此交換A與B值等基礎我花了很多時間在記熟如何寫出這樣的迴圈,像是氣泡排序法之類的,
但用多了發現,實務上死背這些似乎沒有幫助,應該多試試看自己的想法,搞懂了再去用這些編好的模組,像我在排列時會直接寫個簡單的陣列全部存進去,用內建的函數讓他自己排序,雖然在實際上是多此一舉,但編寫的時候自己可以更快去處理,也減少bug的產生,當然對於龐大的程式不適合如此就是了。
總之,先懂基礎,再套模組,才會進步。
以上個人見解,還望版上高人指教
作者:
黑輪兄
時間:
2018-4-6 09:45 PM
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
funinthesun
時間:
2018-5-26 08:43 PM
其實我才剛學VB所以有很多會看但不會寫,這篇文章給了我許多啟發
作者:
zaq12345
時間:
2020-4-5 11:42 PM
謝謝大大的分享..大大辛苦了
作者:
erick883
時間:
2022-4-2 04:08 PM
長知識了,感謝分享~~~
作者:
qoo460
時間:
2022-12-7 11:04 PM
感謝版大的分享!謝謝~~~~
歡迎光臨 伊莉討論區 (http://a04.eyny.com/)
Powered by Discuz!