怎么寫出優(yōu)秀的軟件代碼
大家好,今天跟大家分享一下怎么寫出好的代碼。碼農(nóng)現(xiàn)在是中國就業(yè)的絕對主力的。那么怎么寫出好代碼,這是很多人追求。
軟件研發(fā)屬于良心活,很難監(jiān)控,認(rèn)不認(rèn)真差一萬八千里,首先要有認(rèn)真的心,做好的心,這一點是根本。
臉書的創(chuàng)始人扎克伯格說過,好的程序員和不好的程序員他的,效率可以差100倍,也就是說的不好的程序員可能做負(fù)的貢獻(xiàn),也就是寫的代碼漏洞太多,bug太多,要別人給他擦屁股才能解決問題。
第一點來講,就是規(guī)范性
代碼要寫的規(guī)范。可讀性好,寫得清爽,可維護(hù)性強(qiáng),可擴(kuò)展性強(qiáng)。那么,怎么做到呢?
規(guī)范性的第一點呢?就是命名。
1)名字的含義準(zhǔn)確,英語不好的多差字典,要用準(zhǔn)確的英語 術(shù)語要用準(zhǔn)確的術(shù)語 不能用單個字母,不能用拼音。類型定義。變量定義命名都要準(zhǔn)確,如果你搞的那個名字得了a,b,c,d,e,那別人肯定就看不懂。
2)變量要包含數(shù)據(jù)類型,數(shù)據(jù)類型啊,指針就是指針,你是整型就是整整,int8就是int8,能看清類型,用的時候就不會出錯
3)定義要考慮作用域,就說你的是在哪個范圍有效的,而不能這個沒有作用域的話。別一用啊,那現(xiàn)在一周超過中于范圍了,可能用的又不準(zhǔn)確了,所以的話,這是那個很關(guān)鍵的。
4)注釋,對于算法部分要有注釋,代碼修改要注釋修改原因
5)自注釋是最好的注釋,用命名,用語法的正確使用來實現(xiàn)自注釋,可讀性就強(qiáng)。
6)語法的使用要合理,要得當(dāng)。比如if else分支不能太多,分支多要有switch case
7)異常分支要處理,default分支要處理,異常要catch。
8)日志,告警要準(zhǔn)確打點,要符合日志和告警規(guī)范。
第二點來講,代碼靜態(tài)檢查和問題清零
利用工具檢查來提高效率。各種編程語言都有代碼靜態(tài)檢查插件,用靜態(tài)檢查來檢查代碼,是非常好的規(guī)范性和質(zhì)量檢查工具。最好能做到問題清零,包括編譯的問題,也最好清零。因為很多人會有認(rèn)為這些提示問題,不解決也沒啥,這都是隱患。其實不是,可能隱藏這問題。
第三點來講,就是代碼同行評審,也叫代碼走讀
代碼走讀是質(zhì)量效率最高的一項質(zhì)量活動 發(fā)現(xiàn)問題越早成本越低。那么代碼走讀,就是發(fā)現(xiàn)問題最早的一個環(huán)節(jié)。而且是效果最好的。多個同事交叉評審代碼,對相互了解和后面維護(hù)也有好處。相互學(xué)習(xí),對培養(yǎng)人也有好處。
第四點來講,結(jié)對編程
結(jié)對編程是敏捷的一個優(yōu)秀實踐,就是兩個人一起來寫代碼,一個人寫另外一個人觀察,然后交換過來,另一個人寫這個人觀察,這樣的話,就可以互相學(xué)習(xí),互相糾正,互相審核代碼,這樣的話,兩個人成長會非???,一種的是兩個水平差不多的,還一種的就是老員工帶新員工老帶新的一個方式。
第五點來講,單元測試測試驅(qū)動開發(fā)
很多編程語言都有測試腳本支持,JUnit C++Unit ,用腳本來寫單元測試用力,邊開發(fā)邊寫測試用例,先寫測試用例再寫代碼,這是正確的方法 很多人不重視單元測試;單元測試是最有效的測試質(zhì)量活動,作者自己測試,效率最高。這也是自動化測試的基礎(chǔ) 后面的測試都可以繼承這些用力,取其中的一部分,加上測試驅(qū)動腳本 自動化測試工廠也是敏捷的優(yōu)秀實踐。
單元測試這里面就會有一個大家疑惑的問題。就是覆蓋率的問題,說要100%覆蓋,也有覆蓋力的統(tǒng)計工具。實際上100%的覆蓋率太難了,而且很多代碼分支,沒那么容易構(gòu)造測試用例,我認(rèn)為代碼走讀結(jié)合單元測試會更好,實際上代碼走讀之后,其實你可以判斷存在問題的概率就非常小了,這樣的話再配合80%左右的單元測試覆蓋率就可以了。
今天給大家分享這么多,希望對大家寫出好代碼有些幫助。