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

如何成為更優秀的程序員 永遠不要復制代碼
來源:易賢網 閱讀:1549 次 日期: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更少,重構可能性更小,出錯的幾率更小。要適度??勺x性同等重要,你可不能這樣做而使代碼喪失可讀性。

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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品r级在线| 99日韩精品| 久久阴道视频| 亚洲午夜视频在线| 国产日韩专区在线| 国内精品模特av私拍在线观看| 美女黄毛**国产精品啪啪| 在线亚洲免费视频| 亚洲性视频网站| 在线欧美福利| 欧美日韩国产影片| 久久九九99视频| 欧美精品电影| 亚洲国产精品一区在线观看不卡| 欧美日韩精品免费观看视一区二区 | 99在线精品视频| 亚洲综合视频1区| 美女国产一区| 国产精品九九久久久久久久| 欧美三区美女| 韩国在线一区| 亚洲精品免费一二三区| 午夜精品福利一区二区蜜股av| 裸体一区二区| 国产精品一二| 亚洲一区二区三区中文字幕| 久久综合给合久久狠狠色| 国产精品亚洲综合天堂夜夜| 99精品国产高清一区二区| 久久精品中文| 一区在线观看视频| 久久国产精品一区二区三区| 国产精品va在线播放我和闺蜜| 亚洲国产精品电影| 久久综合色影院| 亚洲国产成人在线| 欧美成人精品一区二区| 亚洲精品九九| 欧美高清在线播放| 久久久噜噜噜久久狠狠50岁| 亚洲一区二区三区四区视频| 亚洲国产成人精品女人久久久| 另类图片综合电影| 亚洲欧美在线磁力| 亚洲视频一区二区免费在线观看| 亚洲国产欧美一区二区三区久久| 国产午夜精品久久久久久免费视 | 欧美制服丝袜第一页| 国产精品国内视频| 麻豆精品视频| 欧美一区二区在线观看| 欧美日韩国产成人| 亚洲一区视频在线观看视频| 国产日韩精品一区观看| 欧美大片免费观看在线观看网站推荐| 中国成人黄色视屏| 亚洲激情在线| 伊人成人在线视频| 国产欧美精品久久| 国产精品视频yy9299一区| 欧美激情视频一区二区三区不卡| 欧美一级久久| 欧美在线免费看| 香蕉国产精品偷在线观看不卡| 日韩午夜高潮| 99国产成+人+综合+亚洲欧美| 亚洲国产高清一区| 亚洲夫妻自拍| 久久久999精品| 欧美色欧美亚洲另类二区| 久久久精品性| 欧美日韩无遮挡| 亚洲精品偷拍| 日韩性生活视频| 亚洲欧美日韩成人| 欧美影片第一页| 国产欧美精品国产国产专区| 国产精品美女久久久久av超清 | 免费在线观看精品| 欧美激情视频给我| 欧美精品激情在线观看| 欧美成人免费全部观看天天性色| 看片网站欧美日韩| 欧美日韩精品久久久| 欧美日韩一二三区| 欧美日韩国产片| 国产麻豆午夜三级精品| 精品电影一区| 亚洲一区二区三区在线| 久久天天综合| 国产喷白浆一区二区三区| 亚洲精品一品区二品区三品区| 一区二区三区 在线观看视| 亚洲综合色自拍一区| 欧美激情2020午夜免费观看| 国产精品www色诱视频| 狠狠久久综合婷婷不卡| 亚洲欧美久久久| 欧美性大战久久久久| 亚洲欧洲在线播放| 欧美成人在线免费视频| 国模一区二区三区| 欧美一区二区大片| 国产伦精品一区二区三区高清版| 亚洲精品1区| 欧美日本国产视频| 日韩一二三区视频| 欧美天堂亚洲电影院在线播放| 亚洲第一页在线| 免费看亚洲片| 日韩午夜在线观看视频| 欧美日韩精品一本二本三本| 亚洲电影免费观看高清| 欧美不卡一卡二卡免费版| 亚洲精品在线二区| 国产精品裸体一区二区三区| 亚洲免费网站| 亚洲成人资源网| 国产精品试看| 欧美成年人网| 亚洲欧美制服中文字幕| 国语自产精品视频在线看一大j8 | 久久gogo国模啪啪人体图| 久久理论片午夜琪琪电影网| 国产乱人伦精品一区二区| 亚洲欧美精品| 精品成人在线观看| 国产精品嫩草影院一区二区| 欧美专区在线播放| 亚洲天堂黄色| 日韩视频一区二区三区在线播放免费观看 | 亚洲国产精品一区在线观看不卡| 久久亚洲欧美国产精品乐播| 日韩一级免费| 一区免费视频| 欧美体内谢she精2性欧美| 久久精品成人一区二区三区| 亚洲精品久久久久久久久久久久久| 国产精品久久久久影院亚瑟| 久久久久高清| 一区二区三区高清不卡| 日韩午夜黄色| 99国产精品久久久久久久成人热| 1204国产成人精品视频| 永久免费毛片在线播放不卡| 国产欧美综合在线| 国产午夜精品全部视频在线播放| 国产精品久久久久久久久免费樱桃 | 欧美日韩高清区| 欧美激情精品久久久久久免费印度| 久久精品国产免费看久久精品| 亚洲一区二区三区高清不卡| 中文网丁香综合网| 午夜精品免费在线| 久久理论片午夜琪琪电影网| 免费久久99精品国产| 欧美三日本三级三级在线播放| 欧美日韩国产一区二区| 国产日韩欧美一区在线| 久久综合五月天婷婷伊人| 精品99一区二区| 午夜电影亚洲| 国产亚洲一区在线| 久久综合99re88久久爱| 欧美精品免费在线| 亚洲日本视频| 国产精品久久久久免费a∨| 亚洲永久网站| 亚洲国产精品成人综合色在线婷婷 | 欧美日本一区二区三区| 中文欧美日韩| 国产欧美 在线欧美| 精品二区久久| 欧美bbbxxxxx| 欧美主播一区二区三区| 加勒比av一区二区| 久久国产日本精品| 激情视频一区| 欧美日本国产精品| 午夜一区不卡| 一本色道久久综合狠狠躁篇的优点 | 亚洲电影视频在线| 裸体丰满少妇做受久久99精品 | 国产精品99久久久久久久女警| 欧美—级a级欧美特级ar全黄| 中文av字幕一区| 亚洲大胆人体视频| 欧美黄色日本| 日韩午夜电影av| ●精品国产综合乱码久久久久| 国产精品va在线| 欧美亚洲成人精品| 欧美激情精品久久久久久免费印度| 亚洲女性喷水在线观看一区| 999亚洲国产精| 亚洲国产影院| 伊甸园精品99久久久久久| 国内激情久久| 精品动漫3d一区二区三区免费版 | 一区二区三区免费看|