精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

年輕程序員需要學習的必備經驗

開發 后端
在過去的7年半時間里,我帶過的軟件實習生超過一打,也看到過數以百計的學生和畢業生的檔案。我發現很多事情他們都需要學習。或許你會說,我說的不 就是某種特定的技術、算法、數學,或者其他特定形式的知識嗎?

在過去的7年半時間里,我帶過的軟件實習生超過一打,也看到過數以百計的學生和畢業生的檔案。我發現很多事情他們都需要學習。或許你會說,我說的不 就是某種特定的技術、算法、數學,或者其他特定形式的知識嗎?沒錯,這的確是需要學習的,但卻并不是最重要的事情。他們需要學習的最重要的東西是“自我規 范”。這些規范就是:盡可能地寫出最簡潔的代碼;如果代碼后期會因為改動而變得凌亂不堪就得重構;盡量刪除沒用的代碼,并添加注釋。

我花了很多時間來敦促這些實習生去學習這些內容。我經常會問他們,怎么樣才能成為一名優秀的程序員,他們也通常會回答說,代碼應該清晰易懂易于維護。這的確是我想聽到的聲音,但是很少有年輕的程序員真的能夠始終如一地貫徹這一點。

請謹記這一點,要懂得“自我規范”,也不能一旦代碼“起效了”就立馬置之腦后。如果所有的變量都命名錯誤,但是代碼依然可以***地運行,那么這些代 碼絕對亂糟糟得讓人不忍直視。將功能代碼改進為簡潔代碼可能在短期內是看不到回報的:代碼原本就可以工作,在清潔之后依然可以工作。這就是為什么你需要 “自我規范”這一步驟了。這也是為什么實習工作是如此必要:一個好的上司是相當注重代碼質量的(即使所謂“好代碼”的定義對于每個程序員都不一樣),從而 迫使實習生和初級程序員不得不反復修改。

[[139587]]

下面我舉的一些例子都是新手程序員寫代碼的時候經常出現的:

名不副實的函數/變量/類

這些函數、類和變量實際所做的事與其名字所表達的含義并不一致。片面看名字是正確的,但是聯系實際的話,有的甚至是毫不相關的。

舉個例子,我上一期的實習生寫了兩個類:EditorGUI和EditorObjectCreatorGUI。用于處理編輯界面的代碼。讓我哭笑不 得的是,用于創建新對象的是EditorGUI,而EditorObjectCreatorGUI只能通過處理不同的對象進行導航。兩者的含義居然是截然 相反的!即使代碼還算相對簡單,但我還是花了相當長的一段時間用來理解它,因為一開始我是在一種完全相反的假設基礎上來理解的。這種情況的解決方案非常簡 單:重命名EditorObjectCreatorGUI為EditorObjectNavigationGUI即可,這樣就易于理解多了。

這種情況我看到過很多。之所以會發生這種情況是因為代碼在工作過程中發生了演變。在選擇名字的時候可能還是正確的,但到了寫完代碼的那一刻,就名不副實了。關鍵是要時刻銘記命名法則。你得明白你添加的東西是否依然符合函數和類的名稱。

混亂的類

另一個問題是類很亂:類做了很多不相關的事情。新功能的添加很簡單,但是慢慢的,你會發現你的代碼變得臃腫不堪,各種不相關的功能隨處可見。有時候,臃腫與否也并不指的是類的大小:某個類可能只有幾百行,但依然囊括了不屬于它的代碼。

為什么會發生這種情況呢?舉個例子:假設由于某種原因,某個GUI類需要分析什么樣的紋理可行(可能是有按鈕要用來選擇紋理)。如果這個GUI類是 唯一需要這個分析結果的類,那么在GUI類中這樣做是有意義的。然而,由于某種原因,一個完全無關的gameplay類也需要這些信息。所以你需要將這些 紋理查詢的信息從GUI類傳給gameplay類。這時候,其實這個GUI類已經變大了:因為它里面其實還包括了TextureAnalyser類。解決 方法也簡單:將TextureAnalyser類分割為一個單獨的類,GUI類和gameplay類都可以使用它。

關于這一條經驗法則很多人提出質疑:要是我添加的功能仍然適合原來這個類的名字呢?如果的確不適合,那么我就必須重命名,或者將其分割成單獨的類,抑或用代碼寫成一個不同的類嗎?

如果你不能為你的類想出一個合適的名字,給人的感覺就會不舒服。如果你不能在類的名字中描述它的目的,那么就會顯得亂七八糟。有時候我們還需要將某個臃腫的類分割成幾部分,并各自取一個恰當的名字。

過于龐大的類

這和上一點——混亂的類有些類似:很多東西一點一點地都添加到類中,然后它不可避免地就臃腫了。在這種情況下,這樣一個類仍然是有意義的,但就是長 得太大個了點。這么個龐然大物不但繁瑣,而且很容易出現bug,因為大量的代碼需要用于操作同一個私有成員變量,所以我們很容易忽視一些細節。

分割一個已經長得很大的類其實是相當枯燥的。這也會成為一個挑戰,如果類中的代碼高度交織在一起的話。再加上它已經在工作,修復時不能添加新功能,這樣一來,我不得說,分割一個過于龐大的類,不能嚴格地自我規范是不行的。

根據在Ronimo的普遍經驗,類保持在500行代碼以下、函數保持在50行代碼以下是最合適的。不過有時候,這樣做反倒不可行,也不明智。但是一般說來,一旦類或函數超出了那個界限我們就可以想辦法重構,并將之分割為更小更易于管理的片段了。

關于代碼注釋

幾乎所有的示例代碼都會包含注釋好了的代碼片段,而不說明為什么。這段代碼需要修復嗎?舊的代碼是否已經被取代了?為什么那兒要寫這些代碼?大家都知道沒有注釋的代碼常常不知所言,但不知何故,很多人都會忘記在自己的代碼上注釋。

并行邏輯和代碼重復

還有一個問題就是我經常能在若干個代碼段處看到相似的邏輯。

例如,我們可以從紋理這個名稱知道它大概的目標對象,比如說是“TreeBackground.dds”。為了知道紋理是否可以用于tree,我們 檢查了文件名以便知道它是不是以“tree”開的頭。可能使用SDK的話我們用filename.beginsWith(“tree”)可以很快地檢測出 來。只是這句代碼這么短,我們往往會選擇哪個地方需要,就直接復制粘貼。當然這樣就是代碼重復了,而正如每個人都知道的,我們應該避免重復代碼,但如果復 制的代碼是如此之短,我們往往會忘記這一點,很自然地就直接copy了。此處我們面對的問題也是顯而易見的:也許后面我們檢查某個紋理是否適合tree的 方法就得變了,然后我們就不得不實行“霰彈式修改”(即到處修改)策略,一處一處地修復。

此處的一般規律是,如果是非常具體的代碼,那就不要復制,即使原本的代碼超級之短,調用函數甚至比直接寫需要更多的代碼,也應該封裝成函數。

上面討論的這些內容已經講得非常透徹了。很多內容甚至你在大學中就學過。但是現在要面臨的挑戰是你需要一步步地從被動遵守到主動銘記于心養成一種習慣。這也是為什么Ronimo中的實習生最重要的不是學習知識,而是學會自我規范。

 
責任編輯:王雪燕 來源: 極客網
相關推薦

2015-06-02 09:17:10

程序員學習經驗

2015-09-15 09:14:10

程序員經驗教訓

2011-08-02 08:59:02

程序員

2022-10-24 09:00:47

畫圖工具程序員XMind

2024-10-07 11:11:26

2009-06-25 09:33:43

Java API程序員

2014-08-15 14:25:48

Android程序員資源

2011-06-11 20:59:12

程序員

2014-08-20 10:28:29

Android

2019-09-25 11:39:07

程序員編程技術

2011-11-25 09:56:45

Java程序員

2015-06-17 10:05:41

編程 程序員

2021-03-02 09:34:15

GitHub倉庫代碼

2020-10-14 08:32:08

算法遞歸面試

2015-04-28 11:31:43

程序員軟件項目項目預估

2012-08-15 10:47:27

2018-08-02 15:46:28

程序員編程軟件

2015-10-26 09:08:29

程序員JavaScript理由

2015-03-10 14:28:46

程序員編程知識經驗總結

2020-07-13 08:08:05

程序員軟考原理
點贊
收藏

51CTO技術棧公眾號

一区二区在线视频| 亚洲狠狠丁香婷婷综合久久久| 97婷婷大伊香蕉精品视频| 不卡一区二区在线观看| 日本精品裸体写真集在线观看| 国产精品乱码人人做人人爱| 国产91一区二区三区| 亚洲欧美日韩激情| 午夜精彩国产免费不卡不顿大片| 精品视频www| 视频免费1区二区三区| zzzwww在线看片免费| 日本一区二区综合亚洲| 国产高清一区二区三区| 中文字幕+乱码+中文字幕明步| 欧美日韩网址| 日韩中文字幕精品视频| 影音先锋黄色资源| 国产美女视频一区二区 | 亚洲区中文字幕| 午夜福利123| 国产精品久久亚洲不卡| 亚洲国产美国国产综合一区二区| 日韩影片在线播放| 日韩一区免费视频| 国产精品综合二区| 国产精品欧美激情| 久久精品久久久久久久| 伊人成人网在线看| 久久在线观看视频| 一级特黄曰皮片视频| 美国成人xxx| 日韩精品中文字幕一区| 手机免费看av网站| 精品乱码一区二区三区四区| 日本韩国欧美在线| 日韩av黄色网址| 91九色美女在线视频| 亚洲免费观看高清完整版在线观看熊 | 国内老熟妇对白xxxxhd| 欧美aaaaaa午夜精品| 欧美一区二区三区…… | 在线视频亚洲一区| 男人的天堂99| 涩涩在线视频| 亚州成人在线电影| 日本中文字幕在线视频观看| 婷婷激情在线| 国产精品视频看| 亚洲成色www久久网站| 黄色毛片在线看| 2023国产精品自拍| 久久青青草原| 日本亚洲一区| 国产亚洲成aⅴ人片在线观看| 免费在线观看91| 九色视频网站在线观看| 久久久精品免费网站| 久久久久久久久久久久久久久久av| 亚洲精品无amm毛片| 国产suv一区二区三区88区| 91色在线观看| 黑人精品一区二区| 成人av在线电影| 精品乱色一区二区中文字幕| 少妇荡乳情欲办公室456视频| 不卡av免费在线观看| 激情小说综合网| 精品成人一区二区三区免费视频| 久久久亚洲综合| 亚洲高清123| 免费黄网站在线播放| 亚洲乱码国产乱码精品精98午夜| 日产精品久久久久久久蜜臀| 电影k8一区二区三区久久| 午夜精品123| 亚洲欧美另类动漫| 欧美亚洲综合视频| 日韩无一区二区| 精品视频站长推荐| 国内精品久久久久久久影视简单| 这里只有精品在线播放| 久久久精品视频免费观看| 99精品久久久| 国产精品视频在线观看| wwwav在线播放| 久久久不卡网国产精品二区| 在线电影看在线一区二区三区| 日本成人不卡| 色8久久精品久久久久久蜜| 污污视频网站在线| 欧美男男freegayvideosroom| 国产一区二区日韩| 久草视频手机在线观看| 日本在线观看不卡视频| 亚洲最大成人网色| 国产永久av在线| 亚洲综合一区二区三区| 手机看片福利日韩| 成人午夜三级| 中文字幕亚洲第一| 黄色激情视频在线观看| 久久国产高清| 97人人澡人人爽| 国产在线自天天| 亚洲狠狠爱一区二区三区| 国产第一页视频| 99ri日韩精品视频| 色婷婷综合成人| 欧美bbbbbbbbbbbb精品| 狠狠网亚洲精品| 久久一区二区三区欧美亚洲| 91三级在线| 在线观看一区二区精品视频| 国产免费a级片| 日本久久黄色| 日本久久91av| 丰满人妻一区二区| 国产精品乱码人人做人人爱| 自慰无码一区二区三区| a级日韩大片| 久久亚洲精品成人| 中文字幕a级片| 久久久国产精品午夜一区ai换脸| 免费不卡av在线| 日韩三级av高清片| 北条麻妃一区二区三区中文字幕 | 美女网站视频在线| 欧美日韩1234| 女人黄色一级片| 美女久久网站| 免费观看成人高| 激情国产在线| 亚洲国产精品大全| 69av视频在线| 国产伦精品一区二区三区免费| 亚洲美女网站18| 在线成人视屏| 影音先锋日韩有码| 精品国产乱子伦| 久久久亚洲精品一区二区三区 | 亚洲成人av免费在线观看| yjizz视频网站在线播放| 狠狠爱在线视频一区| 欧美熟妇精品一区二区| 在线观看国产精品入口| 成人亚洲激情网| 国产精品实拍| 3d成人h动漫网站入口| 神马久久精品综合| 狠狠色综合播放一区二区| 亚洲第一精品区| 麻豆一区在线| 欧美精品videosex牲欧美| 成人午夜免费福利| 精品国产电影一区| 永久免费看mv网站入口78| 久久在线精品| 亚洲欧美综合一区| www.久久99| 欧美伦理91i| 欧美一级一区二区三区| 婷婷综合另类小说色区| 人妻体内射精一区二区| 日产国产欧美视频一区精品| 色琪琪一区二区三区亚洲区| 久久国产精品一区二区三区| 色一区二区三区| 国产亚洲欧美一区| 在线免费观看一区二区| 国产精品盗摄一区二区三区| 在线视频一二区| 激情欧美丁香| 久久久久久久久久久久久久久久av| 黑人巨大亚洲一区二区久| 亚洲图中文字幕| 91中文字幕在线播放| 亚洲你懂的在线视频| 亚洲一级Av无码毛片久久精品| 国产亚洲高清视频| 亚洲欧美日韩另类精品一区二区三区| 日本成人精品| 欧美专区在线观看| 欧洲美女少妇精品| 精品免费国产二区三区| 国产一级淫片a视频免费观看| 国产精品青草久久| 亚洲日本久久久| 日本亚洲一区二区| 99久久99久久精品| 色棕色天天综合网| 成人信息集中地欧美| 精品人人视频| 久久久国产精品亚洲一区| 欧日韩在线视频| 欧美视频在线播放| 国产精品白浆一区二小说| 久久久.com| 国产精品无码自拍| 日本sm残虐另类| 欧美中日韩在线| 日韩一区欧美| 国产亚洲欧美一区二区三区| 欧美另类激情| 欧美在线激情视频| 国产调教视频在线观看| 亚洲国产日韩欧美在线动漫| 国产又粗又猛视频免费| 欧美日韩亚洲激情| 久久久久久久黄色| 中文字幕在线不卡一区 | 一区二区三区视频播放| 日韩免费在线播放| 51精品视频| 久久精品国产视频| 国产高清视频免费最新在线| 精品久久国产老人久久综合| av首页在线观看| 婷婷久久综合九色国产成人| 性欧美videos| 欧美国产精品一区二区三区| 国产精品无码专区| 国产成人aaaa| 一级黄色片在线免费观看| 日韩av中文在线观看| 国产黄页在线观看| 韩日精品在线| 久久观看最新视频| 久久久久av| 亚洲欧美国产精品桃花| 视频精品在线观看| 欧美极品一区二区| 日韩欧美中文字幕电影| 成人精品水蜜桃| 日韩成人18| 亚洲自拍偷拍一区| 精品国产一区二| 成人女保姆的销魂服务| 97久久中文字幕 | aiss精品大尺度系列| 91在线视频精品| av日韩在线免费观看| 91性高湖久久久久久久久_久久99| 99久久亚洲国产日韩美女| 国产精品va在线| 久久久人成影片一区二区三区在哪下载| 午夜精品久久久久久久久久久久久 | 亚洲一线在线观看| 欧美人与z0zoxxxx视频| 一级黄色小视频| 91精品国产欧美一区二区成人| 国产精品国产精品国产专区| 91超碰这里只有精品国产| 国产精品国产三级国产aⅴ| 91精品国产综合久久精品麻豆| 国产又粗又猛又黄又爽| 欧美一区二区三区免费观看视频 | 制服国产精品| 91久久夜色精品国产按摩| 黄频视频在线观看| 欧美在线首页| 18禁裸男晨勃露j毛免费观看| 亚洲大胆视频| 久久久久久久久久久久久久国产| 久久久青草婷婷精品综合日韩| 亚洲一级免费观看| 国产麻豆精品在线| 你懂的在线观看网站| 97国产精品videossex| 中文字幕第4页| 亚洲欧洲另类国产综合| 欧美日韩在线视频免费| 午夜在线电影亚洲一区| 免费视频网站在线观看入口| 欧美性生活大片视频| a天堂中文在线观看| 亚洲成年人在线| 国产精品久久久久久久龚玥菲 | 日本一区二区在线视频| 四季av在线一区二区三区| 激情成人开心网| 久久精品五月| 亚洲精品中文字幕乱码无线| 成人国产视频在线观看| 东方伊人免费在线观看| 一区二区三区日韩欧美精品| 岛国av中文字幕| 91精品欧美久久久久久动漫 | 久久人人爽爽爽人久久久| 18精品爽国产三级网站| 夜夜操天天操亚洲| 波多野结衣大片| 精品欧美黑人一区二区三区| 成年网站在线| 欧美精品久久一区二区| 丝袜美腿诱惑一区二区三区| 亚洲aaa激情| 国产一区二区在线| 欧美国产视频一区| 久久99国产精品久久99| 男生裸体视频网站| 亚洲精品免费视频| 中文字幕69页| 精品国产乱码久久久久久图片| 超碰国产在线观看| 91黑丝高跟在线| 亚洲ww精品| 欧美另类视频在线| 亚洲精品黄色| 久久精品国产露脸对白| 久久久久久97三级| 久久精品国产亚洲av高清色欲| 欧美日韩三级一区二区| 欧美拍拍视频| 久久久久中文字幕| 欧美特黄色片| 蜜桃在线一区二区三区精品| 黄色亚洲免费| 丰满人妻一区二区三区53视频| 中文字幕二三区不卡| 香蕉影院在线观看| 亚洲精品一区二区三区福利| 黄视频网站在线| 国产精品爽爽爽| 欧美手机在线| 国产一级片黄色| 久久影院午夜论| 欧美福利视频一区二区| 精品久久久久久久人人人人传媒 | 午夜精品一区| 国产成人精品一区二区三区| 视频小说一区二区| 亚洲色成人www永久在线观看| 国产在线观看一区二区| 精品国产大片大片大片| 欧美揉bbbbb揉bbbbb| 国产女人在线视频| 国产成人精品在线观看| 免费看成人哺乳视频网站| 无码人妻丰满熟妇区96| 91网站最新网址| 国产又黄又爽又色| 日韩av在线免费看| 天天综合av| 欧美在线一区二区三区四区| 久久久噜噜噜| 欧美日韩国产黄色| 欧美日韩一二三| 伦xxxx在线| 91在线视频导航| 国产综合网站| 精品影片一区二区入口| 精品久久久中文| 国产在线一二| 国产日本欧美一区二区三区在线 | 国产精品香蕉| 日韩欧美国产免费| 久久久亚洲精品一区二区三区| 狠狠狠狠狠狠狠| 中文字幕亚洲在线| 久久久久久亚洲精品美女| 免费人成在线观看视频播放| 成人黄色网址在线观看| 无码人妻av免费一区二区三区| 亚洲人午夜精品免费| 久久国产三级| 狠狠精品干练久久久无码中文字幕| 国产成人在线色| 久久黄色精品视频| 中文字幕免费国产精品| 精品国产乱码一区二区三区 | 大菠萝精品导航| 欧美日韩国产高清视频| 久久精品国产亚洲一区二区三区| 91杏吧porn蝌蚪| 国产视频自拍一区| 日日夜夜综合| 男女私大尺度视频| 欧美激情资源网| 国产白浆在线观看| 2023亚洲男人天堂| 日本久久黄色| 国产真实乱人偷精品| 欧美性猛交xxxxxxxx| 欧美草逼视频| 日韩精品在在线一区二区中文| 九色综合狠狠综合久久| 国产在线欧美在线| 中文字幕欧美日韩精品 | 日韩精品久久一区| 国产精品一级片在线观看| 特一级黄色大片| xxxxx成人.com| 日韩大尺度在线观看| 中国黄色片一级| 欧美日韩一区二区精品| 成人在线播放| 日本不卡高清视频一区| 国产99精品国产| 中文字幕永久在线视频|