扒一扒敲代碼和編程的那些事潭袱,如何寫出高質(zhì)量的代碼柱嫌?
編程是指編寫程序,敲代碼是敲入代碼屯换。編程的過程中肯定有敲代碼的階段编丘。這樣兩者的關(guān)系就很清楚了。
編程過程除了敲代碼以外彤悔,還有很多內(nèi)容嘉抓,現(xiàn)在我們分步驟來解釋一下。
第1個(gè)步驟就是晕窑,要了解你編程的目的抑片,也就是程序的需求。這一部分要理清楚整個(gè)程序的輸入和輸出杨赤。輸入和輸出一般代表的是使用的場(chǎng)景敞斋。比如說我們要寫一個(gè)上傳圖片的程序。這里的輸入就是選擇圖片疾牲。這里的輸出就是完成圖片上傳并返回成功或者失敗的消息植捎。
這一部分在傳統(tǒng)的軟件工程里面叫做需求分析。這個(gè)過程看阳柔,一般不需要敲代碼焰枢,需要繪制一些狀態(tài)圖,把用戶的輸入和輸出都列出來。
第2個(gè)步驟就是架構(gòu)的設(shè)計(jì)济锄。要想提高程序的可維護(hù)性暑椰,健壯性和程序的高效率,程序的架構(gòu)非常重要拟淮。一般是根據(jù)需求分析來選擇幾種可行的方案干茉,然后選出最優(yōu)的一種或者最符合現(xiàn)狀的一種行之有效的實(shí)現(xiàn)方案。
還拿上傳圖片那個(gè)例子很泊,這一塊主要是研究前端用什么角虫,后端用什么。然后前端用什么技術(shù)委造,前端支持幾種平臺(tái)戳鹅,后端用什么技術(shù),還包括選擇合適的數(shù)據(jù)庫昏兆。
這一部分參考的因素主要是面對(duì)現(xiàn)實(shí)枫虏,可能要結(jié)合現(xiàn)有的開發(fā)團(tuán)隊(duì)的技術(shù)實(shí)力來進(jìn)行選擇,可能要結(jié)合當(dāng)前技術(shù)的發(fā)展趨勢(shì)來作出選擇爬虱,也可能為了項(xiàng)目的快速推動(dòng)來做出一個(gè)選擇隶债。
這一步在傳統(tǒng)的軟件工程里面稱之為程序設(shè)計(jì)階段。
第3個(gè)步驟就是代碼實(shí)現(xiàn)跑筝。這個(gè)步驟就會(huì)有敲代碼這一個(gè)過程死讹。這個(gè)過程呢,理想的情況是曲梗,80%體力勞動(dòng)赞警,剩下的20%算是腦力勞動(dòng)。但這個(gè)也不是絕對(duì)的虏两,因?yàn)槿Q于程序設(shè)計(jì)那一部分做到什么細(xì)化的程度愧旦。
還有就是程序員對(duì)程序設(shè)計(jì)的理解程度。跟程序員的個(gè)人素質(zhì)也有很大關(guān)系定罢。
這個(gè)階段比較熬人的就是體力勞動(dòng)這一部分笤虫,要消耗很大的精力去寫代碼,去參考別人的代碼引颈,然后修改耕皮,最后要寫出高質(zhì)量的代碼。
在傳統(tǒng)的軟件工程中蝙场,這一步就稱為編碼凌停。
第4個(gè)步驟就是程序測(cè)試階段。在這一階段售滤,程序員做的工作不是很多罚拟,一般都是修改bug台诗。當(dāng)然了,修改bug也要敲代碼赐俗。所以這部分嚴(yán)格的說拉队,也有敲代碼的過程。
還是以上面的上傳圖片作為例子阻逮。這個(gè)地方可以測(cè)幾種情況粱快,一種是通常的照片,一種是非法的照片叔扼,一種是非常龐大的照片事哭。然后上傳完了會(huì)有一個(gè)返回的訪問鏈接,那么就可以測(cè)試一下這個(gè)鏈接瓜富。以上幾個(gè)場(chǎng)景鳍咱,如果沒有通過,那就算是一個(gè)bug, 然后程序員就需要通過編程來修復(fù)這個(gè)bug与柑。這個(gè)地方絕對(duì)不是敲代碼那么簡(jiǎn)單谤辜,需要分析前因后果找出最好的方案來。
這個(gè)階段通過以后价捧,基本上就進(jìn)入程序的交付丑念,驗(yàn)收的過程,然后隨后就是程序的維護(hù)结蟋。
關(guān)于編程和敲代碼渠欺,我們就先說這么多吧,歡迎留言點(diǎn)贊關(guān)注椎眯,我們下個(gè)話題再見。