中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

如何成為更優秀的程序員 永遠不要復制代碼
來源:易賢網 閱讀:1548 次 日期:2014-09-05 09:42:56
溫馨提示:易賢網小編為您整理了“如何成為更優秀的程序員 永遠不要復制代碼”,方便廣大網友查閱!

這篇文章要介紹的,是我作為專業程序員這些年來學到的能真正提高我的代碼質量和整體工作效率的10件事情。

1. 永遠不要復制代碼

不惜任何代價避免重復的代碼。如果一個常用的代碼片段出現在了程序中的幾個不同地方,重構它,把它放到一個自己的函數里。重復的代碼會導致你的同事 在讀你的代碼時產生困惑。而重復的代碼如果在一個地方修改,在另外一個地方忘記修改,就會產生到處是bug,它還會使你的代碼體積變得臃腫。現代的編程語 言提供了很好的方法來解決這些問題,例如,下面這個問題在以前很難解決,而如今使用lambdas卻很好實現:

///<summary>

/// 一些函數含有部分重復代碼

///</summary>

void OriginalA()

{

DoThingsA();

// unique code

DoThingsB();

}

///<summary>

/// 另外一個含有部分重復代碼的函數

///</summary>

void OriginalB()

{

DoThingsA();

// 沒有重復的代碼

DoThingsB();

}

現在我們重構含有部分相同代碼的函數,用delegate模式重寫它們:

///<summary>

/// Encapsulate shared functionality

///</summary>

///User defined action

void UniqueWrapper(Action action)

{

DoThingsA();

action();

DoThingsB();

}

///<summary>

/// New implmentation of A

///</summary>

void NewA()

{

UniqueWrapper(() =>

{

// unique code

});

}

///<summary>

/// New implementation of B

///</summary>

void NewB()

{

UniqueWrapper(() =>

{

// unique code

});

}

2. 留意你開始分心的時候

當你發現自己在瀏覽facebook或微博、而不是在解決問題,這通常是一種你需要短暫休息的信號。離開辦公桌,去喝一杯咖啡,或去跟同事聊5分鐘。盡管這樣做看起來有點反直覺,但長久去看,它會提高你的工作效率。

3. 不要匆忙趕任務而放棄原則

當帶著壓力去解決一個問題或修改一個bug,你很容易失去自制,發現自己匆匆忙忙,甚至完全忘了一直堅持的重要的測試過程。這通常會導致更多的問題,會讓你在老板或同事眼里顯得很不專業。

4. 測試你完成的代碼

你知道你的代碼能做什么,而且試了一下,它確實好用,但你實際上需要充分的驗證它。分析所有可能的邊界情況,測試在所有可能的條件下它都能如期的工 作。如果有參數,傳遞一些預期范圍外的值。傳遞一個null值。如果可能,讓同事看看你的代碼,問他們能否弄壞它。單元測試是到達這種目的的常規方法。

5. 代碼審查

提交你的代碼之前,找個同事一起坐下來,向他解釋你做了哪些修改。通常,這樣做的過程中你就能發現代碼中的錯誤,而不需要同事說一句話。這比自己審查自己的代碼要有效的多得多。

6. 讓代碼更少

如果你發現寫了大量的代碼來解決一個簡單的問題,你很可能做錯了。下面的boolean用法是一個很好的例子:

if (numMines > 0)

{

enabled=true;

}

else

{

enabled=false;

}

這時你應該寫成這樣:

enabled = numMines > 0;

代碼越少越好。這會使bug更少,重構可能性更小,出錯的幾率更小。要適度。可讀性同等重要,你可不能這樣做而使代碼喪失可讀性。

7. 為優雅的代碼而努力

優雅的代碼非常的易讀,只用手邊很少的代碼、讓機器做很少的運算就能解決問題。在各種環境中都做到代碼優雅是很難的,但經過一段時間的編程,你會對 優雅的代碼是個什么樣子有個初步的感覺。優雅的代碼不會通過重構來獲得。當你看到優雅的代碼是會很高興。你會為它自豪。例如,下面就是一個我認為是優雅的 方式來計算多邊形面積的方法:

static public double GetConvexPolygonArea(Vector2[] vertices)

{

double area = 0;

for (int i = 0; i < vertices.Length; i++)

{

Vector2 P0 = vertices[i];

Vector2 P1 = vertices[(i + 1) % vertices.Length];

area += P0.Wedge(P1);

}

return area / 2;

}

8. 編寫不言自明的代碼

勿庸置疑,注釋是編程中很重要的一部分,但能夠不言自明的代碼跟勝一籌,因為它能讓你在看代碼時就能理解它。函數名變量名要慎重選擇,好的變量/方法名字放到語言語義環境中時,不懂編程的人都能看懂。例如:

void DamagePlayer(Player player, int damageAmount)

{

if (!player.m_IsInvincible && !player.m_IsDead)

{

player.InflictDamage( damageAmount );

}

}

能自我說明的代碼不能代替注釋。注釋是用來解釋“為什么”的,而自我說明的代碼是來描述“是什么”的。

9. 不要使用純數字

直接把數字嵌入代碼中是一種惡習,因為無法說明它們是代表什么的。當有重復時更糟糕——相同的數字在代碼的多個地方出現。如果只修改了一個,而忘記了其它的。這就導致bug。一定要用一個命名常量來代表你要表達的數字,即使它在代碼里只出現一次。

10. 不要做手工勞動

當做一系列動作時,人類總是喜歡犯錯誤。如果你在做部署工作,并且不是一步能完成的,那你就是在做錯事。盡量的讓工作能自動化的完成,減少人為錯誤。當做工作量很大的任務時,這尤其重要。

11. 避免過早優化

當你要去優化一個已經好用的功能代碼時,你很有可能會改壞它。優化只能發生在有性能分析報告指示需要優化的時候,通常是在一個項目開發的最后階段。性能分析之前的優化活動純屬浪費時間,并且會導致bug出現。

好吧,我說是10個,但你卻得到了額外贈送的一個!

更多信息請查看IT技術專欄

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美精品网站| 影音先锋久久精品| 亚洲在线网站| 亚洲欧美国产高清| 欧美资源在线| 欧美天天影院| 亚洲免费大片| 久久一区二区三区国产精品| 欧美国产第一页| 狠狠色丁香婷婷综合影院| 国产精品99久久久久久白浆小说| 久久久999精品免费| 国产精品久久综合| 99热免费精品| 欧美金8天国| 亚洲精美视频| 欧美成人免费在线| 亚洲成人直播| 久久午夜视频| 99re这里只有精品6| 欧美激情va永久在线播放| 黄色成人免费观看| 久久久国产一区二区| 国产一区二区欧美| 欧美一二三视频| 国产夜色精品一区二区av| 午夜精品久久久久久久白皮肤| 欧美久久久久久久久久| 一区免费观看| 亚洲最快最全在线视频| 亚洲裸体俱乐部裸体舞表演av| 99re6热只有精品免费观看| 欧美老女人xx| 国产精品夜夜夜| 99视频精品全部免费在线| 精品99一区二区| 国产精品三级视频| 麻豆久久婷婷| 噜噜噜久久亚洲精品国产品小说| 欧美在线免费一级片| 午夜精品福利一区二区三区av| 久久九九精品99国产精品| 久久精品视频免费观看| 久久亚洲综合网| 亚洲高清在线精品| 欧美成人高清视频| 中文有码久久| 国产乱子伦一区二区三区国色天香 | 老牛国产精品一区的观看方式| 伊人成年综合电影网| 欧美精品系列| 久久人人爽人人爽爽久久| 亚洲美女中文字幕| 狠狠久久五月精品中文字幕| 欧美精品v日韩精品v国产精品| 亚洲欧美视频一区| 国产精品女主播在线观看| 久久久久久婷| 亚洲欧美日韩视频二区| 久久成人av少妇免费| 亚洲无线观看| 亚洲欧美一区在线| 亚洲国产天堂网精品网站| 黑人一区二区| 国产亚洲免费的视频看| 国产乱子伦一区二区三区国色天香| 欧美日本视频在线| 欧美日韩精品福利| 欧美性事免费在线观看| 国产精品卡一卡二卡三| 国产精品有限公司| 国产精品一区二区三区观看 | 久久成人精品无人区| 在线视频国产日韩| 国产精品免费观看视频| 欧美视频在线不卡| 欧美aa国产视频| 欧美成人一区二区| 久久另类ts人妖一区二区| 午夜精品影院| 一二美女精品欧洲| 亚洲高清av在线| 国产亚洲一区二区在线观看 | 亚洲高清视频在线| 国产欧美三级| 亚洲成色www8888| 国产视频一区欧美| 国产精品免费网站在线观看| 国产精品人人做人人爽| 国产亚洲欧美一区二区| 在线观看一区二区视频| 黄色成人在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产免费一区二区三区香蕉精| 亚洲黄色三级| 欧美一区二区三区四区夜夜大片 | 久久婷婷国产综合国色天香| 亚洲欧美在线磁力| 久久一日本道色综合久久| 久久九九热re6这里有精品| 久久亚洲精品伦理| 欧美韩日一区| 国产无一区二区| 在线观看成人av| 欧美在线播放一区| 欧美高清视频| 国产视频精品va久久久久久| 亚洲人被黑人高潮完整版| 伊人婷婷久久| 亚洲第一视频网站| 久久精品毛片| 亚洲影院污污.| 久久亚洲综合网| 国产精品一区久久| 亚洲精选一区二区| 午夜免费日韩视频| 欧美日韩成人一区| 国际精品欧美精品 | 欧美中文字幕久久| 欧美日韩小视频| 精品不卡一区| 亚洲女同在线| 国产精品久久久久久久电影| 亚洲精品自在久久| 久久精视频免费在线久久完整在线看 | 欧美日韩美女| 欧美一区二区三区免费观看| 欧美精彩视频一区二区三区| 99国产精品久久久久久久成人热 | 亚洲欧美日韩另类精品一区二区三区| 亚洲伦理自拍| 香蕉成人啪国产精品视频综合网| 国产老肥熟一区二区三区| 欧美人在线观看| 亚洲欧美日韩电影| 在线免费一区三区| 国产一区二区三区高清| 欧美视频国产精品| 久久久久久久久综合| 亚洲蜜桃精久久久久久久| 欧美日韩一卡二卡| 久久综合激情| 亚洲一区二区三区四区在线观看| 亚洲国产一区在线| 欧美日韩专区在线| 久久久久久综合网天天| 中文亚洲字幕| 狠狠综合久久| 国产一区自拍视频| 国产精品香蕉在线观看| 欧美韩日一区二区| 老司机免费视频久久| 久久成人免费日本黄色| 小嫩嫩精品导航| 欧美一区二区视频在线观看| 午夜精品久久99蜜桃的功能介绍| 亚洲免费在线视频| 亚洲国产精品精华液2区45| 国产精品手机在线| 欧美日韩视频免费播放| 欧美高清视频一区二区| 午夜精品福利视频| 亚洲综合视频一区| 在线一区二区三区做爰视频网站| 日韩系列在线| 久久久xxx| 欧美日韩国产成人高清视频| 国产欧美精品在线| 亚洲美女在线视频| 性做久久久久久久免费看| 亚洲欧美久久久| 久久久久看片| 免费久久精品视频| 免费久久精品视频| 免费人成精品欧美精品| 欧美伦理一区二区| 国产日韩欧美亚洲| 亚洲高清免费在线| 国产精品99久久久久久有的能看| 在线综合+亚洲+欧美中文字幕| 在线视频一区二区| 午夜精品久久久久99热蜜桃导演| 久久精品99| 欧美视频日韩视频| 精品91在线| 亚洲视频精选在线| 麻豆精品国产91久久久久久| 欧美国产日韩一区二区| 亚洲精品国精品久久99热| 欧美亚洲一区三区| 欧美午夜一区二区福利视频| 狠狠色丁香久久婷婷综合_中| 亚洲视频在线一区| 欧美成人四级电影| 国产一区二区日韩精品| 99国内精品久久| 欧美激情一区二区| 激情成人综合| 欧美影片第一页| 国产精品亚发布|