亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

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

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

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

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

1.偏執(zhí)

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

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

2.不要欺騙計算機

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

3.保持簡單

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

理解是重點,要知道程序員大部分時間是在維護代碼,而不是寫代碼。

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

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

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

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

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

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

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

7..放慢步伐?長遠思考才跑得快

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

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

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

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

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

9.成本、速度、正確率

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

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

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