自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員日常開發(fā)的八榮八恥

新聞
今天來(lái)講講程序員日常開發(fā)的八榮八恥。

1. 以接口兼容為榮,以接口裸奔為恥

以接口兼容為榮,怎么理解呢?

很多 bug 都是因?yàn)樾薷牧藢?duì)外舊接口,但是卻不做兼容導(dǎo)致的。關(guān)鍵這個(gè)問(wèn)題多數(shù)是比較嚴(yán)重的,可能直接導(dǎo)致系統(tǒng)發(fā)版失敗的。新手程序員很容易犯這個(gè)錯(cuò)誤。所以我們修改老接口的時(shí)候,一般要做好兼容。

如果需求是在原來(lái)接口上修改,尤其這個(gè)接口是對(duì)外提供服務(wù)的話,一定要考慮接口兼容。舉個(gè)例子吧,比如dubbo接口,原本是只接收A,B參數(shù),現(xiàn)在加了一個(gè)參數(shù)C,就可以考慮這樣處理:

//老接口
void oldService(A,B){
//兼容新接口,傳個(gè)null代替C
newService(A,B,null);
}

//新接口,暫時(shí)不能刪掉老接口,需要做兼容。
void newService(A,B,C){
...
}

我們還要以接口裸奔為恥。為了保證接口報(bào)文的安全性,拒絕接口報(bào)文裸奔。因此,我們可以使用 https 協(xié)議,還建議對(duì)接口加簽驗(yàn)簽處理,數(shù)據(jù)加密等。

接口簽名很簡(jiǎn)單,就是把接口請(qǐng)求相關(guān)信息(請(qǐng)求報(bào)文,包括請(qǐng)求時(shí)間戳、版本號(hào)、appid 等),客戶端私鑰加簽,然后服務(wù)端用公鑰驗(yàn)簽,驗(yàn)證通過(guò)才認(rèn)為是合法的、沒有被中間人篡改過(guò)的請(qǐng)求。

2. 以規(guī)范日志為榮,以亂打日志為恥

我們的業(yè)務(wù)邏輯代碼需要日志保駕護(hù)航。比如:你實(shí)現(xiàn)轉(zhuǎn)賬業(yè)務(wù),轉(zhuǎn)個(gè)幾百萬(wàn),然后轉(zhuǎn)失敗了,接著客戶投訴,然后你還沒有打印到日志,想想那種水深火熱的困境下,你卻毫無(wú)辦法。。。

因此大家要打好日志,比如日志級(jí)別使用恰當(dāng)、日志格式、在哪些地方打日志、參數(shù)打印哪個(gè)等等。

請(qǐng)牢記,不能亂打日志,要以規(guī)范日志為榮,亂打日志為恥。

3. 以代碼自測(cè)為榮,以過(guò)度自信為恥

修改完代碼,要自測(cè)一下,這個(gè)是每個(gè)程序必備的素養(yǎng),即使你只是修改了一個(gè)變量或者一個(gè)字段。

要杜絕過(guò)度自信,尤其不要抱有這種僥幸心理:我只是改了一個(gè)變量或者我只改了一行配置的代碼,不用自測(cè)了,怎么可能有問(wèn)題。

因此,我們要以代碼自測(cè)為榮,以過(guò)度自信為恥。

4. 以參數(shù)校驗(yàn)為榮,以運(yùn)行異常為恥

我們要以參數(shù)校驗(yàn)為榮。

參數(shù)校驗(yàn)是每個(gè)程序員必備的基本素養(yǎng)。方法處理,必須先校驗(yàn)參數(shù)。比如入?yún)⑹欠裨试S為空,入?yún)㈤L(zhǎng)度是否符合預(yù)期長(zhǎng)度。

比如你的數(shù)據(jù)庫(kù)表字段設(shè)置為varchar(16),對(duì)方傳了一個(gè)32位的字符串過(guò)來(lái),如果你不校驗(yàn)參數(shù),插入數(shù)據(jù)庫(kù)直接異常了。

我們要以運(yùn)行時(shí)異常為恥。

比如沒有做好一些非空校驗(yàn)、數(shù)組邊界校驗(yàn)等等,導(dǎo)致的空指針異常、數(shù)組邊界異常,尤其這些運(yùn)行時(shí)異常還發(fā)生在生產(chǎn)環(huán)境的話,在有經(jīng)驗(yàn)的程序員看來(lái),這些錯(cuò)誤行為會(huì)顯得特別低級(jí)。

5. 以設(shè)計(jì)模式為榮,以代碼重復(fù)為恥

日常工作中,我們要以設(shè)計(jì)模式為榮。

比如策略模式、工廠模式、模板方法模式、觀察者模式、單例模式、責(zé)任鏈模式等等,都是很常用的。在恰當(dāng)?shù)臉I(yè)務(wù)場(chǎng)景,我們還是把設(shè)計(jì)模式用上吧。設(shè)計(jì)模式可以讓我們的代碼更優(yōu)雅、更具有擴(kuò)展性。但是切記,不要過(guò)度設(shè)計(jì),不要硬套設(shè)計(jì)模式。

我們還要以重復(fù)代碼為恥。

重復(fù)代碼,相信每個(gè)程序員都討厭的,尤其有時(shí)候開發(fā)工具還會(huì)給提示出來(lái)。我們可以抽取公共方法、抽取公用變量、擴(kuò)展繼承類等方式去消除重復(fù)代碼。

6. 以優(yōu)化代碼為榮,以復(fù)制粘貼為恥

日常開發(fā)中,很多程序員在實(shí)現(xiàn)某個(gè)功能時(shí),如果看到老代碼有類似的功能,他們很喜歡復(fù)制粘貼過(guò)來(lái),這樣很容易產(chǎn)生重復(fù)代碼。

一般建議加自己的思考,怎么優(yōu)化這部分代碼,怎么抽取公用方法,用什么設(shè)計(jì)模式等等。

個(gè)人覺得,優(yōu)化代碼的過(guò)程,可以讓自己取得更大的進(jìn)步。

7. 以定義常量為榮,以魔法數(shù)字為恥

大家平時(shí)工作中,是不是經(jīng)常看到魔法數(shù)字。魔法數(shù)字(Magic Number)是指擁有特殊意義、卻又不能明確表現(xiàn)出這種意義的數(shù)字。程序里面存在魔法數(shù)字,易讀性很差,且非常難以維護(hù)。

如下:

if(type==1){
System.out.println("第一個(gè)");
}else if(type==2){
System.out.println("第二個(gè)");
}else{
System.out.println("其他");
}

代碼中的1、2就表示魔法數(shù)字,我們可以用常量取代魔法數(shù),或者定義枚舉去代替魔法數(shù)字。

8. 以總結(jié)思考為榮,以渾水摸魚為恥。

我們要以總結(jié)思考為榮。

比如平??赐昙夹g(shù)文章,可以總結(jié)思考一下,或者做做筆記,或者放到收藏夾,茶余飯后再看看。再比如日常工作中,看到一段不錯(cuò)的代碼,也可以思考一下亮點(diǎn)在哪里,如果換成自己來(lái)寫的話,怎么寫出更好的代碼。反正就是要多總結(jié),多思考,多復(fù)習(xí),溫故而知新。

我們要以渾水摸魚為恥。

比如工作中,一些小伙伴喜歡渾水摸魚,當(dāng)一天和尚敲一天鐘,代碼多是復(fù)制粘貼,做完需求就摸魚。實(shí)際上這個(gè)不可取的。

我們要在工作中成長(zhǎng),通過(guò)認(rèn)真工作,使自己學(xué)到更多,將來(lái)?yè)Q工作也可以拿到更高的薪水,加油吧!?

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2023-03-31 10:02:08

Linux運(yùn)維DevOps

2011-06-09 13:48:48

程序員

2012-11-20 10:01:40

程序員

2013-04-16 11:00:34

2011-01-18 11:41:26

程序員

2015-03-20 09:46:33

2009-05-14 08:42:53

程序員級(jí)別

2021-12-04 23:01:33

程序員開發(fā)互聯(lián)網(wǎng)

2009-01-10 23:38:16

程序員考試筆記

2018-05-13 15:22:02

程序員職業(yè)陷阱

2015-07-01 14:57:37

程序員開發(fā)技巧漲薪

2015-09-06 16:27:34

PHP程序員級(jí)別

2023-01-31 15:43:47

2023-10-13 10:59:34

開源前端

2017-09-06 12:42:45

AndroidGradle開發(fā)技巧

2009-03-18 09:47:10

2022-06-26 09:56:50

HttpUtil工具類模式

2017-10-13 14:36:23

程序員級(jí)別

2011-07-06 08:49:05

程序員

2015-04-08 11:22:52

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)