国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

每個程序員都該知道的五大定律

開發
定律-或稱法則,可以指導我們并讓我們在同伴的錯誤中學習。這篇文章中,我將介紹我每次設計或實現軟件時出現在我腦海的五大定律。其中有些和開發有關,有些和系統組織有關。它們可以幫助你成為合格的軟件工程師。

[[204958]]

定律-或稱法則,可以指導我們并讓我們在同伴的錯誤中學習。這篇文章中,我將介紹我每次設計或實現軟件時出現在我腦海的五大定律。其中有些和開發有關,有些和系統組織有關。它們可以幫助你成為合格的軟件工程師。

墨菲定律

“凡是可能出錯,就一定出錯。”

這條定律來源于 Edward Murphy —— 一名航天工程師在 50 年代初對火箭測試失敗的回應。這條定律給我們的啟示是永遠在系統關鍵地方使用防御性設計,因為系統某些地方總會出錯!

 

 

這條定律很容易引入軟件工程領域。當你將軟件暴露給終端用戶,他們會創造性地輸入一些出人意料的內容,使系統宕機。所以你需要讓你的軟件足夠健壯,能夠檢測并警告非預期行為。

當你在機器上運行軟件時,任何地方都有可能發生問題 —— 從硬盤上的系統到數據中心的電力供應。所以你必須確保你設計的架構在每個層級都可以應對故障。

我曾經有機會領略過幾次墨菲定律。 舉個例子,我曾經在一個批處理框架中使用字符串“null”來表示空值,我并不認為這有問題,直到有個名字叫“Null”的用戶提交了一個交易訂單,我們的報表流程中斷了幾個小時…… 還有一次,在另一個項目中。當所有東西都準備好部署到生產環境了,突然 Azure 基礎設施故障導致我們運行自動化腳本的服務器宕機了。

現實世界中的經驗教訓提醒著我生活的艱難 —— “凡事可能出錯,就一定出錯”。 所以,心中牢記墨菲定律,設計健壯的軟件。

Knuth 定律

“在(至少大部分)編程中,過早優化是萬惡之源。”

這條定律是高德納(Donald Knuth) 的經典語錄之一,它告誡我們不要過早優化應用程序中的代碼,直到必須優化時再優化。

 

[[204959]]

 

的確,簡單易讀的源碼可以滿足 99% 的性能需要,并能提高應用的可維護性。最開始使用簡單的解決方案也讓后期性能出現問題時更容易迭代和改進。

垃圾自動回收的編程語言中,字符串的連接常常是過早優化的例子。在 Java 或 C# 中,String 對象是不可變的,我們學會使用其他結構動態創建字符串,比如 StringBuilder。但事實上直到你分析完個應用程序前,你并不知道 String 對象創建了多少次并對性能的產生多大影響。所以首先編寫盡可能整潔的代碼,之后在必須的時候再優化,往往這樣做更有意義。

然而,這條規則并不應該阻止你去學習編程語言的性能權衡和正確的數據結構。并且,正如所有其他性能問題,你在優化前要測量開銷。

North 定律

“每一個決定都是一次權衡”

好吧,我承認這是取自 Dan North 的演講 Decisions,Decisions,它目前還不是公認的定律。 但這條語錄影響了我做的每個決定,所以我把它放在這。

 

[[204960]]

 

開發者日復一日的生活中,我們每天都做無數個大大小小的決定。從命名變量到自動化(手動)任務,再到定義平臺架構。

這條語錄強調無論你做的選擇是什么,你總會放棄一個或多個選項

但這不是最重要的。 最重要的是理智地做出決定,了解其他選項,清楚你為什么不選擇它們。你要始終根據當前你掌握的信息來權衡并做出決定。

但是如果后來你了解到新的信息,并發現之前的決定是錯誤的,這也沒關系。關鍵是記清楚你為什么做出那個決定,重新評估新的選項之后再做出新的理智的決定。

重復一遍

“每一個決定都是一次權衡”

所以,做出選擇并對所有選項心知肚明。

Conway 定律

“系統設計的架構受限于生產設計,反映出公司組織的溝通架構”

在 60 年代,一位名叫 Melvin Conway 的工程師注意到公司組織結構影響到他們開發的系統的設計。他用一篇論文描述了這個觀點,并命名為“Conway 定律”。

 

 

這條定律很適用于軟件開發領域,甚至體現到代碼層面上。交付軟件組件的各個團隊組織結構直接影響到組件的設計。

舉個例子,一個集中式的開發者團隊會開發出各組件耦合的整體應用。另一方面,分布式的團隊會開發出單獨的(微)服務,每一部分關注點分離清晰。

這些設計沒有好壞之分,但它們都是受到團隊溝通方式的影響。在全球有大量獨立開發者的開源項目,通常是模塊化和可重用庫,這就是很有說服力的例子。

如今,將大的集成應用解耦成微服務已成趨勢。這很棒,因為這可以加速交付使用項目。但你也應該牢記 Conway定律,在公司組織構建中投入與技術開發同樣多的工作。

瑣碎定律(帕金森瑣碎定律)

“組織成員投入大量精力到瑣碎的事情上。”

這條定律論點是在會議中花費的時間與事情的價值成反比。的確是這樣,人們更愿意把注意力和觀點放在他們熟悉的事物上,而不是復雜的問題上。

 

[[204961]]

 

帕金森給出一個例子,一場會議中,成員們討論兩件事:為公司建核反應堆和為員工建車棚。建反應堆是一件巨大而復雜的任務,沒有人能完全掌控全局。他們完全信賴流程和系統專家,并很快接受了項目。

另一邊,建車棚是一般人都可以做的,每個人都可以對顏色有意見。事實上,每個會議成員都會表達自己的意見,使得建車棚的決議所花費的時間遠遠超過建反應堆的。

這條定律在軟件行業十分出名,這個故事隨后也被稱為車棚效應

舉個例子,開發者會花費更多時間到討論正確縮進或函數命名,而不是討論類的職責或應用架構。這是因為每個人都能認知幾個字符的變動,但項目架構的變動則需要巨大的認知負載

你能注意到的車棚效應的另一個例子是 Scrum 演示。不要誤會我,我喜歡演示,我認為這是一個很好的機會來面對用戶并獲得對應用程序的反饋。但通常 Scrum 演示過程中的討論會轉向瑣碎問題,而不是審視全局。這些討論也很重要,但你應該注意權衡更重要更復雜的問題。

一旦你了解這種規律,你將在會議和交流中發覺這種行為。 我并不是讓你在每次討論中避免“小”問題,提高你的意識可以幫助你關注真正的問題,并為這些會議做好準備。

結論

這五條定律只是我們行業中總結出的教訓中一些例子。隨著軟件開發經驗的增長,我們將會學會更多。 盡管其中某些定律現在看起來是常識,我始終堅信了解這些原則可以幫助你識別這些模式并做出反應。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2014-10-22 10:54:14

程序員

2015-10-12 15:07:46

亞馬遜CTO云架構師

2022-03-09 09:56:27

插件開發效率

2010-03-25 09:58:25

大齡程序員

2010-07-16 09:00:00

.NET

2023-03-28 23:08:18

Bash編碼Shell

2019-05-20 10:28:16

定律原則GitHub

2023-01-31 15:43:47

2018-03-07 12:57:53

2012-02-28 10:52:13

2016-04-19 10:23:48

2015-07-16 09:56:58

Web開發程序員技巧

2022-09-02 15:25:59

程序員工具項目

2009-07-22 09:25:19

程序員非技術

2009-06-10 09:58:14

程序員職場層次

2017-10-28 23:35:08

CSS框架開發工具

2010-11-12 10:27:08

求職

2011-11-15 08:46:26

項目管理

2013-12-19 10:10:58

交互設計費茨法則席克定律

2015-10-26 09:08:29

程序員JavaScript理由
點贊
收藏

51CTO技術棧公眾號

美国欧美日韩国产在线播放| 青青青草视频在线| 91亚洲一区| 日韩一级精品视频在线观看| 欧美黑人在线观看| 免费观看亚洲天堂| 亚洲激情在线激情| 视频一区二区视频| 亚洲精品456| 亚洲欧美综合另类中字| 亚洲91av| 国内精品久久久久久久影视蜜臀| 亚洲国产精品一区二区三区| 黄在线免费观看| 欧美日本乱大交xxxxx| 丰满的护士2在线观看高清| 日韩一区二区三区在线播放| 久久国产精品色av免费看| 99久久99久久| 国产亚洲欧洲997久久综合| 手机福利在线| 精品国产美女在线| 午夜在线一区二区| 欧美不卡1区2区3区| 国产成人aaaa| 蜜桃一级网站.| 欧美性大战久久久| 警花av一区二区三区| 成人动漫视频在线观看完整版 | 久久久久久久久国产| 日韩精品一卡| 国产无限制自拍| 韩日成人av| 亚洲天堂网在线观看| 亚洲成人一品| 亚洲成色www久久网站| 中文字幕在线不卡视频| 日韩欧美小视频| 欧美国产乱视频| 日本强好片久久久久久aaa| 可以免费看污视频的网站| 91精品在线一区二区| 欧美五码在线| 久久久久久九九九九| 日韩理论片中文av| 精品国模一区二区三区| 国产精品一区二区a| 国产精品麻豆视频| 91成人在线| 日韩中文字幕一区| 91福利社在线观看| 97国产成人高清在线观看| wwwwww欧美| 国产一区二区久久精品| 美女网站色精品尤物极品姐弟| 日韩成人伦理电影在线观看| 成人福利在线观看视频| 成人免费在线视频网址| 日本乱人伦aⅴ精品| 国产精品第十页| 爆操欧美孕妇| 日韩网站在线观看| 成人午夜精品一区二区三区| 黑人另类精品××××性爽| 亚洲自拍在线观看| 69成人精品免费视频| 樱花影视一区二区| 欧美日日夜夜| 五月天天在线| 日韩免费电影一区二区| 91超碰中文字幕久久精品| 看电视剧不卡顿的网站| 国内黄色精品| 青春草视频在线观看| 国产精品宾馆在线精品酒店| 国模精品系列视频| 久久精品亚洲精品国产欧美kt∨| 亚洲国产日本| 香蕉成人影院| 成人a视频在线| 蜜桃传媒一区二区| 亚洲精品720p| 亚洲欧美一区二区不卡| 蜜桃久久av一区| 在线观看福利电影| 亚洲激情在线视频| 国产很黄免费观看久久| 欧美视频在线视频精品| 在线麻豆国产传媒1国产免费| 国产欧美一区二区三区不卡高清| 亚洲欧洲美洲在线综合| 日韩欧美中文一区| 欧美日韩精品国产| 91视视频在线直接观看在线看网页在线看 | 亚洲无线视频| 青草视频在线免费直播 | 欧美黄色免费影院| 欧美高清视频不卡网| 国产99亚洲| 无码日韩人妻精品久久蜜桃| 91精品国产麻豆| 欧美亚洲国产一区| 中文字幕第38页| 日韩在线中文视频| 国产在线不卡一卡二卡三卡四卡| av在线资源网| 91亚洲精华国产精华| 亚洲影院理伦片| 免费视频亚洲| 欧美国产乱视频| 欧美一级淫片aaaaaaa视频| 久久免费偷拍视频| 黄色直播在线| 91国在线精品国内播放| 91在线视频18| 久久精品资源| www.国产二区| 日韩高清a**址| 老司机精品视频导航| 国产素人视频在线观看| 国产精品三区在线| 欧美日韩在线播放三区四区| 91精品电影| 黄色小视频在线观看| 91免费版网站入口| 欧美性猛交xxxx富婆弯腰| 91精品秘密在线观看| 免费黄色片在线观看| 亚洲一区二区三区四区在线播放| 亚洲成av人片在线观看无码| 欧美日韩性在线观看| 最猛黑人系列在线播放 | 韩日精品一区| 国产在线观看免费麻豆| 日b视频免费观看| 欧美二级三级| 国产精品香蕉av| 欧美高清第一页| 五月天欧美精品| 久久国产精品免费| 玖玖玖国产精品| 国产高清亚洲| gay视频丨vk| 国产极品粉嫩福利姬萌白酱| 国产又粗又大又爽的视频| 亚洲色图视频网| 亚洲瘦老头同性70tv| 2018av男人天堂| 国产日韩欧美在线视频观看| 国产极品美女高潮无套久久久| 91色国产在线| 亚洲精品一区视频| 福利片免费在线观看| 亚洲精品在线91| 国产成人三级在线观看| 久久天堂影院| 黄页在线观看| 91免费在线观看网站| 3d动漫精品啪啪| 国产精品一区二区在线播放| 免费一级欧美在线观看视频| wwwwww99| 国产精品免费观看高清| 日韩精品一区二区视频| 国产午夜亚洲精品羞羞网站| 欧美日中文字幕| 91亚洲天堂| 国产精品va无码一区二区| 国产精品老女人精品视频| 欧美精品一二三区| 91免费在线看| 欧美一区二区三区久久精品| 春色校园综合激情亚洲| xxxx一级片| 国内精品一区二区| 久久精品国产清自在天天线 | 国内在线免费视频| 欧美黑人经典片免费观看| 国产成人啪精品视频免费网| 欧美日本免费一区二区三区| 99免费精品在线观看| 国产精品久久久久无码av| av中文在线资源库| 国产国产国产国产国产国产| 色一情一乱一伦一区二区三区丨| 欧美xxxx做受欧美| 91精品欧美久久久久久动漫| 欧美国产亚洲另类动漫| 午夜一级久久| 免费看成人人体视频| 性欧美1819sex性高清大胸| 亚洲国产日韩欧美在线观看| 久久久久国产精品视频| 97免费视频在线| 精品日韩一区二区三区| 亚洲欧洲在线观看av| 久久av中文字幕片| 综合一区av| 欧美性生活一级片| 国产综合色区在线观看|