有哪些資深程序員總結(jié)的寫代碼的秘訣分享一下?
資深不敢說,反正挺顯老的;多寫了幾年的代碼,談不上秘訣,一些經(jīng)驗(yàn)和大家分享。
1、在正式敲代碼之前,一定要多想想流程;這個(gè)【想】的時(shí)間投入,有的時(shí)候比寫代碼的時(shí)間還要多。我通常會(huì)在紙上畫一畫業(yè)務(wù)流程,哪里會(huì)有分支,判斷條件是什么樣的,甚至細(xì)到需要修改哪些代碼,哪些代碼可以抽象出來寫成一個(gè)新方法,方法入?yún)⒒貐⒍际鞘裁础_@些工作算是概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),如果公司不要求寫這些文檔的話,那就自己拿紙筆畫一畫。
2、寫新代碼之前,一定要看一看能不能復(fù)用老代碼,或者用類庫(kù)實(shí)現(xiàn);這樣可以避免相同或相似的邏輯寫多編,要記住:代碼越多,Bug越多(精簡(jiǎn),不是偷懶);
3、盡可能地提高代碼的可讀性,包括:類、方法、變量的命名,多謝注釋,注意代碼的分層、方法的抽象;提高代碼的可讀性,為了可以為自己和團(tuán)隊(duì)成員節(jié)約很多不必要的時(shí)間。
4、代碼編寫過程中,一定要時(shí)刻問問自己,這樣寫會(huì)不會(huì)有效率問題;見過很多開發(fā)伙伴,寫出來的代碼在測(cè)試環(huán)境上運(yùn)行沒有問題,一發(fā)布生產(chǎn),就會(huì)變得效率奇低,這就是忽略了兩個(gè)環(huán)境數(shù)據(jù)量的差異。
5、如果有條件的話,盡量做一下代碼Review,最好每周花一點(diǎn)兒時(shí)間做集體的代碼Review,目的不是為了查到Bug,而且可以利用這個(gè)時(shí)間做一下分享;技術(shù)能力高的同事說說怎么寫比較好,業(yè)務(wù)水平高的同事說說對(duì)業(yè)務(wù)的理解;并且因?yàn)榧w代碼Review,也會(huì)在一定程度上“逼著”程序員提高自己的代碼質(zhì)量。
6、代碼出現(xiàn)Bug是很正常的事情,解決掉Bug之后,可以把Bug產(chǎn)生的原因和解決的方法記錄下來,避免以后出現(xiàn)類似的問題;程序員能力的提高,就是在產(chǎn)生Bug和修復(fù)Bug的過程中提高的。
7、狀態(tài)不好的時(shí)候,就不要寫代碼;通常一天工作八個(gè)小時(shí),能有四個(gè)小時(shí)在高效的寫代碼,就是收獲滿滿的一天。
總之,寫代碼要養(yǎng)成良好的代碼習(xí)慣:很多時(shí)候Bug的產(chǎn)生,不是因?yàn)榧夹g(shù)能力低,而是因?yàn)榇a習(xí)慣不好。
我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。