国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

有哪些資深程序員總結(jié)的寫代碼的秘訣分享一下?

網(wǎng)友解答: 算不上資深程序員,但在這一行也待了不少年了,說(shuō)下我的看法。代碼實(shí)際上是一種交互,一方面是人機(jī)交互。一方面是人人交互,我們從兩個(gè)角度說(shuō)下這兩種交互分別需要注意什么。人機(jī)交互代碼

網(wǎng)友解答:

算不上資深程序員,但在這一行也待了不少年了,說(shuō)下我的看法。

代碼實(shí)際上是一種交互,一方面是人機(jī)交互。一方面是人人交互,我們從兩個(gè)角度說(shuō)下這兩種交互分別需要注意什么。

人機(jī)交互

代碼最終是要交給計(jì)算機(jī)執(zhí)行的。一個(gè)軟件執(zhí)行的性能如何和代碼質(zhì)量密切相關(guān)。 如果計(jì)算機(jī)是一個(gè)活人的話,恐怕要?dú)⒌舨簧俪绦騿T祭天了吧。 “寫的什么爛代碼,讓我做這么多冗余,低效的運(yùn)算”。

寫代碼的時(shí)候思考性能,是一個(gè)程序員必須擁有的職業(yè)素養(yǎng)。性能包括了時(shí)間開(kāi)銷和空間開(kāi)銷,編碼的時(shí)候多問(wèn)自己幾個(gè)問(wèn)題:

1. 我的代碼有沒(méi)有冗余的邏輯

2. 我的代碼有沒(méi)有并行化的可能性

3. 我實(shí)現(xiàn)的時(shí)候,算法復(fù)雜度能不能更加優(yōu)化

4. 我是否申請(qǐng)了過(guò)多的空間

5. 我的程序是否有out of memory, stack overflow的風(fēng)險(xiǎn)

當(dāng)然這些問(wèn)題并不是那么好回答,需要一定的積累。平時(shí)多練練算法(安利一下leetcode,很好用),千萬(wàn)別覺(jué)得做的題目用不上,你需要鍛煉的是邏輯思維能力。 另外, 一定要好好研究操作系統(tǒng), 當(dāng)你搞懂了操作系統(tǒng),再來(lái)寫代碼,很多思維就變得不一樣了。

人人交互

一個(gè)人開(kāi)發(fā)一套系統(tǒng)的時(shí)代過(guò)去了,現(xiàn)在是多人合作的時(shí)代。代碼在程序員中充當(dāng)了非常重要的溝通作用(相信我,它比文檔重要百倍)。好的代碼是賞心悅目的, 讀起來(lái)如同一篇優(yōu)美的詩(shī)。糟糕的代碼讀起來(lái)晦澀難懂,味同嚼蠟,讓人恨不得扔到垃圾桶里。

怎樣寫出人們眼中的"優(yōu)美"代碼呢, 筆者認(rèn)為有以下幾點(diǎn):

1. 你的代碼風(fēng)格和團(tuán)隊(duì)是合拍的,不能是反人類或者凌亂的。變量,函數(shù)的命名,括號(hào)換行等等至少要統(tǒng)一,這樣會(huì)大大提升團(tuán)隊(duì)的效率。 如果團(tuán)隊(duì)不知道采用哪種風(fēng)格, 也可以考慮參考大公司的規(guī)范,比如阿里的代碼合約規(guī)約,就是業(yè)界影響力非常大也備受好評(píng)的一份代碼規(guī)范。

2. 你的代碼是層次分明,架構(gòu)合理的。千萬(wàn)不要把所有的業(yè)務(wù)邏輯堆在一起, 讓人無(wú)法卒讀!多了解了解設(shè)計(jì)模式,讓自己的代碼架構(gòu)清晰,可擴(kuò)展性強(qiáng)。否則,你會(huì)發(fā)現(xiàn),你一期上線后, 再進(jìn)行bugfix和新feature開(kāi)發(fā)就會(huì)變得異常困難, 很多時(shí)候不得不刪減大量的代碼。

3. 合理的注釋。 注釋不宜過(guò)少也不宜過(guò)多, 盡量是那種提綱挈領(lǐng)式的,講明自己的意圖,而不要廢話連篇,說(shuō)一些大家一看就知道的大白話。雖說(shuō)完美的代碼自身就是注釋, 但筆者認(rèn)為大多數(shù)人達(dá)不到那個(gè)境界, 適當(dāng)?shù)淖⑨屵€是必要的。

對(duì)代碼有追求的同學(xué),不放讀一讀《代碼整潔之道》這本書,我想你一定會(huì)有收獲的。

就寫這么多嗎, 大家還有什么編碼的技巧嗎,歡迎在評(píng)論區(qū)討論。

網(wǎng)友解答:

最好建立一個(gè)自己的博客,把平時(shí)用到的技巧都記錄下來(lái),因?yàn)槲覀儾豢赡苡涀∧敲炊鄸|西,用到的時(shí)候翻一翻對(duì)自己很有幫助!

標(biāo)簽: