聽(tīng)說(shuō)寫代碼有這10個(gè)好習(xí)慣會(huì)漲工資?
計(jì)算機(jī)是最誠(chéng)實(shí)的。程序運(yùn)行不對(duì),首先不要懷疑機(jī)器的問(wèn)題。99.99%的情況下,是你的代碼出了問(wèn)題。遵守一些原則,養(yǎng)成一些好習(xí)慣,可以幫你節(jié)省時(shí)間并且寫出簡(jiǎn)潔美觀的代碼!
1. 修改完代碼,自測(cè)一下是每位程序員必備的基本素養(yǎng)。不要抱有僥幸心理,就算只改了一個(gè)變量或者只改了一行配置代碼,也一定要自測(cè)。嚴(yán)格要求自己,不要怕麻煩,這樣可以規(guī)避之后很多不必要bug。
2. 方法入?yún)⒈M量都檢驗(yàn),例如入?yún)⑹欠裨试S為空,入?yún)㈤L(zhǎng)度能否符合你的預(yù)期長(zhǎng)度。你知道嗎?很多低級(jí)bug都是不校驗(yàn)參數(shù)導(dǎo)致的。假如你的數(shù)據(jù)庫(kù)字段設(shè)置為varchar(16),對(duì)方傳了一個(gè)32位的字符串過(guò)來(lái),你不校驗(yàn)參數(shù),插入數(shù)據(jù)庫(kù)直接異常了。
3. 修改老接口時(shí),思考接口兼容性。這是一個(gè)新手程序員容易犯的錯(cuò)誤。很多bug都是因?yàn)樾薷牧藢?duì)外老接口,卻不做兼容導(dǎo)致的。關(guān)鍵這個(gè)問(wèn)題大部分比較嚴(yán)重,可能直接導(dǎo)致系統(tǒng)發(fā)版失敗。如果你有在原來(lái)接口上修改的需求,尤其是對(duì)外提供服務(wù)的話,必須考慮接口兼容。
4. 對(duì)于復(fù)雜的代碼邏輯,添加清楚的注釋。平時(shí)是沒(méi)有必要寫太多的注釋,好的方法變量命名就是最好的注釋。但如果是業(yè)務(wù)邏輯很復(fù)雜的代碼,就非常有必要寫清楚注釋,有利于后面的維護(hù)。
5. 代碼采取措施避免運(yùn)行時(shí)錯(cuò)誤。日常開(kāi)發(fā)中,我們需要采取措施避免數(shù)組邊界溢出,被零整除,空指針等運(yùn)行時(shí)錯(cuò)誤。
6. 優(yōu)先考慮批量進(jìn)行。因?yàn)樵谘h(huán)里遠(yuǎn)程調(diào)用、不在循環(huán)里操作數(shù)據(jù)庫(kù)比較耗網(wǎng)絡(luò)、IO資源,所以盡量不要,能批量一次性查回來(lái)盡量不要循環(huán)多次去查。但也不要一次性查太多數(shù)據(jù),最好分批500一次。
7. 多線程異步優(yōu)先考慮恰當(dāng)?shù)木€程池,而不是new thread,同時(shí)考慮線程池是否隔離。使用線程池有這幾點(diǎn)好處,它幫我們管理線程,避免增加創(chuàng)建線程和銷毀線程的資源損耗。提高響應(yīng)速度以及重復(fù)利用。同時(shí)需要考慮線程池隔離,不同的關(guān)鍵業(yè)務(wù)分配不同的線程池,線程池參數(shù)也要適當(dāng)考慮。
8. 調(diào)用第三方接口,需要考慮異常處理,安全性,超時(shí)重試這幾個(gè)點(diǎn)。異常處理:你調(diào)別人的接口,如果異常了怎么處理;超時(shí):沒(méi)法預(yù)估對(duì)方接口一般多久返回,一般設(shè)置個(gè)超時(shí)斷開(kāi)時(shí)間,以保護(hù)你的接口;重試次數(shù):需要站在業(yè)務(wù)上角度思考你的接口調(diào)失敗,需不需要重試這個(gè)問(wèn)題。
9. 主從延遲問(wèn)題考慮,一般數(shù)據(jù)庫(kù)都是有主庫(kù),從庫(kù)的。寫入的話是寫主庫(kù),讀一般是讀從庫(kù)。如果發(fā)生主從延遲,很可能出現(xiàn)你插入成功了,但是卻查詢不到的情況。假如是重要業(yè)務(wù),需要考慮是否強(qiáng)制讀主庫(kù),還是再修改設(shè)計(jì)方案。雖然有些業(yè)務(wù)場(chǎng)景也可以接受主從稍微延遲一點(diǎn),但寫完操作數(shù)據(jù)庫(kù)的代碼,還是要習(xí)慣性想想是否存在主從延遲問(wèn)題。
10. 為重構(gòu)分配時(shí)間,每一次混亂都在產(chǎn)生技術(shù)負(fù)債。像金融一樣,時(shí)間越長(zhǎng),產(chǎn)生的債務(wù)就越多。對(duì)于普通開(kāi)發(fā)人員來(lái)說(shuō),花上幾天時(shí)間清理代碼聽(tīng)上去并不是那么美好。這就是為什么要養(yǎng)成每天償還一點(diǎn)債務(wù)的習(xí)慣。做好時(shí)間規(guī)劃,長(zhǎng)此以往完善的代碼數(shù)量將令人驚嘆。