摘要:如果你不能以高標(biāo)準(zhǔn)來要求自己,即使你看再多的如何寫出高質(zhì)量代碼,懂再多的代碼規(guī)范,也是沒有用,最終還是會(huì)寫出低質(zhì)量代碼。建議先從代碼規(guī)范開始,熟悉代碼規(guī)范,遵循規(guī)范寫代碼,直到成為習(xí)慣,然后再學(xué)習(xí)其它方法,最終寫出高質(zhì)量代碼。
更多文章 什么是高質(zhì)量代碼?
高質(zhì)量代碼具有以下幾個(gè)特點(diǎn):
可讀性高
結(jié)構(gòu)清晰
可擴(kuò)展(方便維護(hù))
代碼風(fēng)格統(tǒng)一
低復(fù)雜性
簡練
編寫高質(zhì)量代碼主要遵循以下幾點(diǎn): 代碼規(guī)范 代碼規(guī)范的好處規(guī)范的代碼可以促進(jìn)團(tuán)隊(duì)合作
規(guī)范的代碼可以降低維護(hù)成本
規(guī)范的代碼有助于代碼審查
養(yǎng)成代碼規(guī)范的習(xí)慣,有助于程序員自身的成長
每個(gè)程序員最煩的就是修改別人的代碼,無論代碼好壞。因?yàn)榈谝谎劭瓷先]有熟悉感,下意識就會(huì)排斥。
所以當(dāng)團(tuán)隊(duì)的成員都嚴(yán)格按照代碼規(guī)范來寫代碼時(shí),可以保證每個(gè)人的代碼看起來都像是一個(gè)人寫的,看別人的代碼就像是在看自己的代碼。
重要的是我們能夠認(rèn)識到規(guī)范的重要性,并堅(jiān)持規(guī)范的開發(fā)習(xí)慣。
接下來,你要做的事就是找一份良好的代碼規(guī)范并一直堅(jiān)持使用,直到形成習(xí)慣。
前端代碼規(guī)范推薦百度前端代碼規(guī)范
feross/standard · GitHub
Airbnb JavaScript Style Guide
在接到一個(gè)需求時(shí),千萬不要看完需求就馬上寫代碼,以免造成返工或誤解需求的現(xiàn)象。在這個(gè)階段一定要多問,看完需求后,在腦里過一下,把可能會(huì)涉及的情況都要問清楚。
一名好的程序員不僅僅是一名程序員,還要懂需求、業(yè)務(wù)。
在把情況都了解清楚后,如果項(xiàng)目規(guī)模不是很大,就可以開始寫大綱了。
例如這樣:
class Car { run(){}, stop(){}, }
然后再開始實(shí)現(xiàn)細(xì)節(jié)。
如果項(xiàng)目規(guī)模比較大,可以通過思維導(dǎo)圖或其他工具寫一個(gè)項(xiàng)目的原型(當(dāng)然這種活一般都會(huì)由項(xiàng)目經(jīng)理或產(chǎn)品來負(fù)責(zé)),再細(xì)分到不同的程序模塊來一一實(shí)現(xiàn)。
“磨刀不誤砍柴功”,千萬不要為了求快而直接寫代碼。
具體流程閱讀文檔,分析需求
畫原型圖或草圖(方便自己理解整體架構(gòu))
寫大綱或偽代碼(如果項(xiàng)目比較大還要細(xì)分模塊)
實(shí)現(xiàn)細(xì)節(jié)
沒有程序員能一次就寫出完美的代碼,而是需要通過不停的重構(gòu)來完善代碼,提升質(zhì)量。
重構(gòu)就是在不改變軟件系統(tǒng)外部行為的前提下,改善它的內(nèi)部結(jié)構(gòu)。
重構(gòu)可以使軟件更容易地被修改和被理解。通過不斷地改進(jìn)軟件設(shè)計(jì)以達(dá)到簡單設(shè)計(jì)的目標(biāo),減少由于設(shè)計(jì)與業(yè)務(wù)的不匹配帶來的架構(gòu)與設(shè)計(jì)腐化。
重構(gòu)能改善軟件設(shè)計(jì)
重構(gòu)使軟件更易理解
重構(gòu)有助于找到Bug
重構(gòu)有助于提高自我編程能力
重構(gòu)有助于加深理解代碼
重構(gòu)能適應(yīng)需求變更
推薦閱讀:重構(gòu)
不要編寫大段代碼
重復(fù)代碼封裝成函數(shù)
在編寫代碼的過程中養(yǎng)成不斷重構(gòu)的習(xí)慣
添加必要的注釋
留下可擴(kuò)展的空間
無論是單元測試、自測或者是其它測試,最重要的目的都是為了找出盡可能多的BUG,保證產(chǎn)品的質(zhì)量。
好的東西都是迭代改出來的,比如好的產(chǎn)品,好的架構(gòu),代碼也不例外,寫的好的代碼都是經(jīng)歷了作者不停地 review 和修改。
測試的過程本身就是一個(gè)自我 code review 的過程,在這個(gè)過程中,可以發(fā)現(xiàn)一些設(shè)計(jì)上的問題(比如代碼設(shè)計(jì)的不可測試),代碼編寫方面的問題(比如一些邊界條件的處理不當(dāng))等,做到及時(shí)發(fā)現(xiàn)及時(shí)修正,不需要等到測試階段甚至上線之后再發(fā)現(xiàn)再修改。
個(gè)人認(rèn)為這一點(diǎn)是最重要的,好的程序員都是有強(qiáng)迫癥的,他們會(huì)嚴(yán)格要求自己,通過不斷的學(xué)習(xí)來提升自己的技術(shù)最終成為大神級別的程序員。
如果你不能以高標(biāo)準(zhǔn)來要求自己,即使你看再多的如何寫出高質(zhì)量代碼,懂再多的代碼規(guī)范,也是沒有用,最終還是會(huì)寫出低質(zhì)量代碼。
但是,提高自我要求是一種改變,一般來說,改變都不是一蹴而就的,需要一步一步來。所以,改變最好從小事做起,慢慢積累,最終蛻變。
建議先從代碼規(guī)范開始,熟悉代碼規(guī)范,遵循規(guī)范寫代碼,直到成為習(xí)慣,然后再學(xué)習(xí)其它方法,最終寫出高質(zhì)量代碼。
https://kdboy.iteye.com/blog/...
https://www.jianshu.com/p/71a...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100866.html
摘要:現(xiàn)在,我們可以使用單元測試來提高自己的代碼質(zhì)量。它在單元測試的編寫中通常用來模擬等相關(guān)請求。通過這篇文章,你應(yīng)該學(xué)會(huì)了如何針對已有代碼從零開始編寫一套完整的單元測試用例。 概述 在日常的功能開發(fā)中,我們的代碼測試都依賴于自己或者QA進(jìn)行測試。這些操作不僅費(fèi)時(shí)費(fèi)力,而且還依賴開發(fā)者自身的驅(qū)動(dòng)。在開發(fā)一些第三方依賴的庫時(shí),我們也沒有辦法給第三方提供完整的代碼質(zhì)量報(bào)告。 現(xiàn)在,我們可以使用單...
摘要:以上,從分層組織,模塊化,使用時(shí)注意低權(quán)重原則,以及巧用雪碧圖闡述了提高代碼質(zhì)量的四個(gè)方面。編寫高質(zhì)量代碼前端開發(fā)修煉之道曹劉陽 分層組織CSS 我們應(yīng)用CSS的能力應(yīng)該分成兩部分:一部分是CSS的API,重點(diǎn)是如何用CSS控制頁面內(nèi)元素的樣式;另一部分是CSS框架,重點(diǎn)是如何對CSS進(jìn)行組織。 推薦一種組織CSS的方法: base.css + common.css + page.c...
摘要:關(guān)注的目標(biāo)就是在代碼提交之后,順利且迅速的把新的功能部署到產(chǎn)品環(huán)境上。由于是,那么單元測試,回歸測試,集成測試,都是實(shí)現(xiàn)的手段。高質(zhì)量的產(chǎn)品需求書和高質(zhì)量的自動(dòng)化集成測試用例毫無疑問,是高質(zhì)量軟件的保證之一。 showImg(https://segmentfault.com/img/remote/1460000006877091?w=800&h=600); 什么是Test-Driven...
摘要:記住,帶有嚴(yán)格測試的代碼可能比沒有測試的代碼更有害。保持簡單,極度簡單不要編寫復(fù)雜的代碼。并且它將是全球代碼文檔的良好開端。使用這樣的迭代來部署質(zhì)量更新,而不是腰部時(shí)間和資源對不合理的愿望和犧牲與質(zhì)量。 原文地址:https://hackernoon.com/few-si... showImg(https://segmentfault.com/img/bVJdkG?w=1000&h=2...
摘要:記住,帶有嚴(yán)格測試的代碼可能比沒有測試的代碼更有害。保持簡單,極度簡單不要編寫復(fù)雜的代碼。并且它將是全球代碼文檔的良好開端。使用這樣的迭代來部署質(zhì)量更新,而不是腰部時(shí)間和資源對不合理的愿望和犧牲與質(zhì)量。 原文地址:https://hackernoon.com/few-si... showImg(https://segmentfault.com/img/bVJdkG?w=1000&h=2...
閱讀 2607·2021-11-25 09:43
閱讀 1885·2021-09-22 15:26
閱讀 3819·2019-08-30 15:56
閱讀 1743·2019-08-30 15:55
閱讀 1923·2019-08-30 15:54
閱讀 838·2019-08-30 15:52
閱讀 3184·2019-08-29 16:23
閱讀 919·2019-08-29 12:43