你會敲程式碼嗎
你會敲程式碼嗎?如果你是告訴我,你一邊看一邊敲,一行一行敲,甚至一個單詞一個單詞敲, 或者即使你一段一段敲,也不知道程式碼的重點,敲完要不一點感覺也沒有,要不覺得好痛苦,記不下來,那你就算了吧.
誰讓你記了,誰讓你看一行敲一行了?敲打碼也是講求方式方法的,不是說了一個功能段一個功能段的敲,你要是強,就一個過程,一個窗體的敲,那也是沒問題的.一行一行敲,效率又低,效果又差,一邊敲你還一邊稀裡糊塗,搞不清楚程式碼的功能.
那什麼是一個功能段,差不多理解就是幾行程式碼,這些程式碼可以完成一個功能.舉例,比如:For…Next語句,這個語句塊就是一個功能段,就可以一起敲.當然還有If…Else, Do…Loop什麼的.
為了更形象生動,舉個例子,敲個例子,使用的語言是VB.
輸入5個學生的姓名及一門課程的成績,輸出成績最高和最低的同學的姓名及其成績.
首先我得分析,現在我們假設沒有程式碼,這是要我們自己編寫,該如何分析?其實我這是程式設計的思考路線.
首先得輸入5個學生的姓名和成績.這是第一步.
第二步,把5個同學的成績比較,找出最大和最小元素.
第三步,將5個同學的姓名和成績依次輸出.
第四步,將成績最高和最低的同學姓名和成績分別輸出.
分析,第一步,第三步,第四步,都好解決.第一步InputBox,當然不能白輸入要記錄下來,用陣列;第三步,第四步print就可以了,當然第四步的最高和最低成績的要通過第二步.現在問題是如何找出最大,最小成績?
明顯依次比較就可以了.找最大成績就是,把成績一一比較大小,把成績大的用臨時變數記錄下來.可是記錄下來的是成績嗎?如果是成績,如何讓成績跟姓名對應起來,所以記錄是元素的下標.同一個人的姓名和成績的下標是一致的.
現在敲程式碼,一個功能段一個功能段的敲.
Private Sub cmdRank_Click()
'這幾個Dim可以相當於一個功能段輸出
Dim score(1 To 5) As Single '記錄成績的陣列
Dim name(1 To 5) As String '記錄姓名的陣列
Dim num As Integer '用於迴圈
Dim max As Integer '記錄最大值的下標
Dim min As Integer '記錄最小值的下標
'第二個功能段
'第一步輸入5個同學的姓名和成績,用陣列儲存下來
For num =1 To 5
score(num) = InputBox("請輸入第" & num & "個同學的成績")
name(num) = InputBox("請輸入第" & num & "個同學的姓名")
Next num
max = 1
min = 1
'第二步,找出最大,最小成績.用臨時變數儲存
For num =2 To 5
If score(num) > score(max) Then '找到更大的陣列元素
max = num '將其下標賦值給max
End If
If score(num) < score(min) Then '找到更小的陣列元素
min = num '將其下標賦值給min
End If
Next num
'第三步,輸出5個同學的姓名和成績
Print "姓名", "成績"
For num =1 To 5
Print name(num), score(num)
Next num
'第四步,輸出最高,最低同學的姓名和成績
Print "成績最高的同學的姓名和成績為:"
Print name(max), score(max)
Print "成績最低的同學的姓名和成績為:"
Print name(min), score(min)
End Sub
現在有程式碼了,我們主要分析如何要敲程式碼,該如何做呢?首先在敲之前還是分析,不過這回是分析程式碼.
第一步,還是輸入5個同學的姓名和成績.
第二步,找出1-5中最大,最小元素,記錄下下標
第三步,輸出5個人姓名和成績
第四步,輸出最大,最小成績,根據對應下標.
最後分析以上四步,得出結論第二步的程式碼才是重點,是核心,我們敲的時候就要注意第二步的程式碼.還有下標也是重點,第四步就要注意下標對應.
為什麼要分析程式碼.分析程式碼就將程式碼變成了一個一個的步驟,或者演算法,它們跟Vb(語言)完全沒有關係了.然後以後你只要編寫找最大,最小值得程式,就可以用上這些分析,不用管是什麼語言.這樣掌握核心,掌握程式碼是不是簡單多了.
總結:敲程式碼很簡單,但是如何讓自己更有效率,學習更有效果,這就不簡單了.其實我就不會敲程式碼,我總是一行一行的敲,敲完一行就開始分析,這句是什麼意思,然後看下一句,再敲.很短的一段程式碼,我要敲很久,因為分析很久,還得鬱悶很久,覺得要是讓自己來程式設計肯定編不出來,所以還要花一段時間來記這些程式碼.
我跟老師說,我不敲程式碼.老師說,你的方法有問題,去分析程式碼吧,以後一個功能段一個功能段的敲.然後就有了這篇文章.
程式設計是一門技術,更加是一門藝術.敲程式碼也是一門技術,更是一門藝術.
相關文章
- 除了敲程式碼,你還有什麼副業嗎?
- Emmet,讓你愛上敲程式碼
- 你打算敲程式碼到什麼時候?
- 老闆會因為你拼命寫程式碼而感謝你嗎?
- 你會執行指令碼嗎指令碼
- 【前端面試】同學,你會手寫程式碼嗎?前端面試
- 會寫程式碼是你創業路上的包袱嗎?創業
- 老闆會因為你拼命編寫程式碼而感謝你嗎?
- 最近敲程式碼有感
- 敲程式碼,看人生
- 我們一直談論“寫程式碼”,但你會“讀程式碼”嗎?
- 敲程式碼的開始
- 利用註解+反射消除重複程式碼,你學會了嗎?反射
- 你的公司會獎勵程式碼量最大的那個人嗎
- 你會為了效能而犧牲程式碼簡潔性嗎?
- 哥們,B/S瞭解嗎?——啥玩意,我是敲程式碼的
- 你需要每天寫程式碼嗎?
- 這些都不會,你說你會寫程式碼?
- 你也可以這樣屌到爆的敲程式碼當黑客黑客
- 你得會寫程式碼。。。
- 網路安全漏洞百出你會成為黑客敲詐的目標嗎?黑客
- 你信嗎?重構軟體並不會改善程式碼質量
- 程式設計師,你會問問題嗎?程式設計師
- 程式設計師你會修電腦嗎?程式設計師
- 學習程式設計照著別人的程式碼敲進去有效率嗎?程式設計
- AI 全面入侵,程式設計師到了 2040 年還能繼續敲程式碼嗎?AI程式設計師
- 你試過不用if擼程式碼嗎?
- 你的程式碼有重複嗎?
- 你會單例嗎?單例
- 如何提高FPGA敲程式碼的速度?FPGA
- 低程式碼平臺會取代COTS嗎
- 低程式碼會使初級碼農失業嗎?
- 程式設計師,你真的會寫簡歷嗎?程式設計師
- 你確定你會寫 Dockerfile 嗎?Docker
- 你知道低程式碼BPM平臺嗎?
- 你們公司做程式碼審查嗎?
- ActiveMQ你學會了嗎MQ
- 你真的會用 Babel 嗎?Babel