亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

程序猿你們知道嗎?揭秘10大編碼原則

時(shí)間:2023-05-01 12:06:18 資料 我要投稿
  • 相關(guān)推薦

程序猿你們知道嗎?揭秘10大編碼原則

回顧一個(gè)程序員的職業(yè)生涯,每一個(gè)人都會(huì)曾和一些有才能的人一起共事過(guò),曾解決過(guò)一些非常嚴(yán)重的技術(shù)難題,也見識(shí)過(guò)一些業(yè)界名氣頗大的技術(shù)公司。近日,從國(guó)外一個(gè)程序員和其團(tuán)隊(duì)的經(jīng)歷,針對(duì)程序上成果中編碼時(shí)應(yīng)該知道一些原則。這不是規(guī)矩,也不是指導(dǎo)方針,只是這個(gè)團(tuán)隊(duì)在編寫和運(yùn)行代碼時(shí)總結(jié)出來(lái)的一些需要注意的原則。

1.偏執(zhí)

對(duì)于這一點(diǎn)來(lái)說(shuō),很多程序員幾乎是天生的,甚至一些靠自學(xué)才成為了程序員。他們不相信電腦,也不相信剛修復(fù)的bug已經(jīng)修復(fù)完畢。除非多次檢驗(yàn)之后,才會(huì)相信已經(jīng)如自己所愿地理解了問(wèn)題。

而偏執(zhí)是一個(gè)程序猿的朋友,而且也應(yīng)該成為每一個(gè)工程師的“朋友”。程序猿應(yīng)該總是想著從另一種方式來(lái)證實(shí)假設(shè),或者從另一個(gè)角度去看遺漏什么。雖然很多時(shí)候這是沒(méi)有必要的,但有時(shí)它能發(fā)揮至關(guān)重要的作用。

2.不要欺騙計(jì)算機(jī)

換而言之,就是“避免抽象漏洞”,系統(tǒng)該怎么用就怎么用,每一個(gè)程序猿不要?jiǎng)e出心裁自創(chuàng)用法。不要指望計(jì)算機(jī)會(huì)出現(xiàn)什么奇跡,特別是如果系統(tǒng)使用規(guī)模超過(guò)當(dāng)前的三倍,那么就得考慮重新設(shè)計(jì)。如果你欺騙了計(jì)算機(jī),它絕對(duì)會(huì)給你帶來(lái)想象不到的后果。

3.保持簡(jiǎn)單

很多程序員喜歡創(chuàng)建一些新事物、解決一些難題。這是為什么他們干這一行的原因。但很多時(shí)候?qū)τ诔绦騺?lái)說(shuō),發(fā)現(xiàn)某個(gè)問(wèn)題可以解決,卻并不意味著現(xiàn)在就是解決它的好時(shí)機(jī)。有些程序員喜歡簡(jiǎn)單易于理解的設(shè)計(jì),對(duì)此這是一個(gè)難度不小的挑戰(zhàn),以一種復(fù)雜的方式解決問(wèn)題不難,但是只有優(yōu)秀的程序員才能用一種既簡(jiǎn)單又易于理解的方式解決問(wèn)題。

理解是重點(diǎn),要知道程序員大部分時(shí)間是在維護(hù)代碼,而不是寫代碼。

4.?第一準(zhǔn)則是:不要優(yōu)化

就John?Bentley經(jīng)典書籍《編程珠璣》,它旨在幫助新人像一個(gè)經(jīng)驗(yàn)豐富的程序員一樣思考。雖然已經(jīng)發(fā)行了好多年,但是上面的很多經(jīng)驗(yàn)教訓(xùn)仍然適用于當(dāng)今社會(huì)。另外,優(yōu)化可以采取多種形式:速度、后驗(yàn)形式、潛在規(guī)模、可能用途等。

但大多數(shù)的優(yōu)化最終是沒(méi)人用的,而且從定義上看優(yōu)化會(huì)使得設(shè)計(jì)更加復(fù)雜。優(yōu)化的第一準(zhǔn)則是:不要優(yōu)化,除非完全理解整個(gè)問(wèn)題。但第二戒律依然是:“不要優(yōu)化”,即使你理解也要真的需要才能去優(yōu)化。

5.要修復(fù)所有再次可能發(fā)生的bug

對(duì)于每一個(gè)程序員自己犯的錯(cuò)誤沒(méi)必要牢記。每個(gè)人都討厭出現(xiàn)bug,甚至對(duì)犯錯(cuò)的系統(tǒng)討厭去修復(fù)同樣的bug,所以為了避免這種情況,每當(dāng)修復(fù)一個(gè)bug時(shí),你需要去思考bug還有可能出現(xiàn)在哪里?以后又比http://www.ishadingyu.com/news/55B15DD9CF8B9CD1.html較容易出現(xiàn)在什么地方?什么原因造成的bug?

6.不斷地做問(wèn)題假設(shè)

對(duì)于程序員而言,最好養(yǎng)成一個(gè)不斷詢問(wèn)自己的習(xí)慣“為什么要這么做?這能解決什么問(wèn)題?有沒(méi)有更好的方法?有沒(méi)有什么更重要的事情還沒(méi)做到的?”。作為優(yōu)秀的編碼應(yīng)該一直保持這種態(tài)度,不斷地詢問(wèn)自己這些假設(shè)情況。什么是真正需要解決的問(wèn)題?只要求解決效果而不必追究根本原因?解決方案完整嗎?

7..放慢步伐?長(zhǎng)遠(yuǎn)思考才跑得快

作為工程師,長(zhǎng)遠(yuǎn)思考是最重要的一點(diǎn)。每一個(gè)人追求高效的工作效率:喜歡不斷地創(chuàng)建、再創(chuàng)建。但是如果不能用長(zhǎng)遠(yuǎn)的角度看問(wèn)題,只會(huì)使得最后越來(lái)越難構(gòu)建任何東西。特別是當(dāng)沒(méi)理解問(wèn)題就直接去寫代碼,最后導(dǎo)致程序不得不放棄。

另外,有時(shí)候匆忙沒(méi)有完成設(shè)計(jì),從而導(dǎo)致后期別人需要花更多的時(shí)間來(lái)修復(fù)。有時(shí)候直接就復(fù)制或者借鑒了別人的內(nèi)容,為忙著趕項(xiàng)目進(jìn)度未能好好思考。面對(duì)這些情況,目光要看得長(zhǎng)遠(yuǎn),要知道目標(biāo)是給用戶建設(shè)更好的功能,擁有最廣泛的用戶。

關(guān)心自己的代碼(圖片來(lái)源computertrainingschools.com)

8.關(guān)注自己的代碼

這一點(diǎn)對(duì)于每一個(gè)程序員看似沒(méi)必要過(guò)多解釋,但現(xiàn)在有很多人并不以為然,為自己寫的代碼更多地投入關(guān)注。但也不必極端,工程師對(duì)待代碼就像對(duì)自己的寵物一樣,而程序員和代碼之間的關(guān)系更像是一個(gè)牧場(chǎng)主,但碰到代碼不聽使喚的時(shí)候依然氣憤。

9.成本、速度、正確率

作為軟件中的鐵三角關(guān)系,成本、速度、正確率是全世界軟件工程師追求的目標(biāo)。所謂程序員的優(yōu)秀和偉大之間的區(qū)別往往在于駕馭這三個(gè)方面的能力,但三者不可兼得,當(dāng)面臨這三個(gè)方面需要妥協(xié)的時(shí)候,一定要明白妥協(xié)什么,在確定妥協(xié)的情況下做出最正確的選擇。

10.保持好奇心?不斷地學(xué)習(xí)

作為一個(gè)工程師,如果你沒(méi)有了好奇心,不愿意學(xué)習(xí)新鮮事物,不再關(guān)心新技術(shù)、新語(yǔ)言,那么你從事編碼工作的意義何在?對(duì)于以上十個(gè)編碼原則可能并不完美,期待更多的交流和反饋。