亚洲女同在线观看-亚洲女同在线-亚洲女同视频-亚洲女同精品中文字幕-美国激情ap毛片-美国黄色一级毛片

聯系方式Contact
地址:江蘇昆山市象嶼兩岸7號樓 15層
郵編:215300
資訊熱線:13405132033
郵箱:wj@kunxintong.com
文章搜索Search

15條軟件開發的基本規律

2021年11月27月 |發布者:昆山網站制作  點擊:

  下面是15條來自軟件開發實踐中的基本規律法則:
奧卡姆剃刀
  這個著名的格言可以追溯到14世紀的哲學家和修士William_of_Ockham,奧卡姆剃刀(Occam's razor)通常描述為:
  在有多個相互競爭性的理論中,選擇那個最少的假設解釋的理論(因為假設越多,錯誤的概率越多)。
  這個原理最早至少能追溯到亞里士多德的“自然界選擇最短的道路”。在大多數情況下,如果我們可以選擇理論,那么無疑選擇越簡單的越好。
  但是這個原理被人們還總結簡單有效原理:如無必要,勿增實體。切勿浪費較多東西去做,用較少的東西,同樣可以做好的事情。也就是將復雜事情簡單化。
  這種解釋其實偏離了奧卡姆剃刀的原話,奧卡姆剃刀的原話中有一個前提是,存在多個相互競爭性理論的情況下,傾向于選擇簡單那一個。這句話的意思不等同于“如無必要,勿增實體”,因為后者的假設前提是“如無必要”,這個前提與奧卡姆剃刀原話的前提不是同一的,因為是否必要是非常主觀的,假設當前只有一個方案,那么主觀者會認為沒有必要再探索其他方案了;如果過了一段時間,其他人又提出一個簡單方案,這個主觀者會認為已經沒有必要再考慮第二個方案,盡管按照奧卡姆剃刀原意還是需要將這兩個方案進行比較,有可能第二個方案更簡單,能夠入選。
  在多個方案中選擇簡單的,不代表否定進行多個方案的論證,如同我們進行軟件開發與設計,如果僅僅認為功能足夠可以運行了,沒有必要再加入過多設計,設計模式和其他最佳實踐是多余的,這種懶惰認識反而是有害的,相反,設計模式和最佳實踐或者面向對象或者函數式方案有可能是出其意外地簡單巧妙。這些如果你不首先進行復雜化,又如何能夠在復雜基礎上真正獲得簡單的解決方案呢?
 
Hanlon的剃刀(Hanlon's razor)
  Never attribute to malice what can be adequately explained by stupidity,如果能夠使用無知解釋,就無需歸因于惡意。
  軟件測試中經常讓程序員懊惱的是測試員或用戶總是挑選自己的死穴進行測試,其實大部分情況下他們不是惡意或故意的,而是對你的程序邏輯的無知導致,這種無知的測試正是軟件測試的無盲點測試。
  現實生活中也是經常有這樣情況,很多人出于無知,或者無意識地犯錯,那么我們就不能再歸因于他們出于惡意,因為惡意必須是意識到了再去故意違反,所以,在法律上,故意殺人與正當防衛的無意殺人在量刑上是區別對待的。
  Hanlon的剃刀也是讓我們寬宏原諒別人的一個約定俗成的理由。
 
帕累托原則(二八定律 80/20定律)
  “80%的影響源于20%的原因。”1897年,意大利經濟學者帕累托發現:20%的人占有80%的社會財富。
  在軟件開發調試中,我們會發現大量問題和Bug,也許你會感到泄氣,但是奇怪的是,當你解決一個問題后,會發現其他很多錯誤竟然消失了,這說明,大部分的問題其實都是由一些共同原因引起的。
  簡而言之,立刻解決許多問題的最快方法是找到共同的根源并修復他們。
 
達克效應(鄧寧-克魯格效應(Dunning-Kruger effect)
  "非熟練專業人員經常會對自己的能力產生認知偏差,以為自己的能力比他們實際能力要強大得多“
  這個定律認為相對不熟練的人會遭受虛幻的優越感,錯誤地評估他們的真實能力,用中國俗語解釋:滿瓶不動半瓶搖。當然一些研究表明,不同的社會文化也在其中發揮作用。例如,東方人往往會低估自己的能力,不斷尋找機會提高自己和他人。
  類似概念有:儒家孔子認為”知之為知之不知為不知“,蘇格拉底認為“真正的知識是知道自己的無知的程度“。老子:知人者智,自知者明。
 
林納斯定律
  雷蒙德的名言,“足夠多的眼睛,就可讓所有問題浮現。”(Given enough eyeballs, all bugs are shallow)
  換句話說,如果你不能找到問題,就去尋求他人的幫助。 這也是為什么需要結對編程和軟件測試的原因。
 
健壯性原則(又名Postel法則/伯斯塔爾法則)
  在軟件開發中有一個基本思想,特別是API設計等領域,可以簡明地表達為健壯性:
  嚴以律己,寬以待人。
  最早這個規范是針對TCP協議設計的,當代碼發送命令或數據到其他機器時應該完全符合規格,但代碼接收其他輸入應該可以接受非標準一致的輸入,只要這個輸入意思清楚。
   在函數式編程中,這個原理表現為輸入類型是逆變的(contravariant),而輸出類型應該是協變的(covariant)。在程序員中,產生兼容的功能,原理是推廣[引文需要]的形式在輸出型的輸入類型和協變是逆變。
 
Eagleson定律
   程序員離開項目一段時間后再去看看自己的代碼,心里經常可能罵娘,這是哪個白癡寫的代碼?
  自己的代碼如果六個月以上沒有沒有再看,如同其他人編寫一樣。
   記住,下次你再加入一個項目你已經離開好幾個月。 代碼是 不再你的代碼 ;它是別人的,你現在負責改善。
 
彼得原理
   彼得原理是管理心理學的一種心理學效應,指每個員工不斷遷升,最終趨向于上升到他所不能勝任的崗位。對一個組織而言,一旦組織中的相當部分人員被推到了其不稱職的職位,就會造成組織的人浮于事,效率低下,導致平庸者出人頭地,發展停滯。
 
呆伯特的原則
  漫畫的主人公呆伯特,是一位白領工人、電氣工程師,也是全世界聞名的倒霉蛋,其上司愚蠢、官僚。其原則是:
  沒有能力的員工將比有能力的員工更能提拔到管理崗位,從而將他們從實際工作中去除,以減少他們可能造成的危害。
 
霍夫斯塔特定律
  實際花費的時間總是超過你的預期,所以,你只能加班,唉,程序員加班很苦逼啊。
 
90-90 規則
  因為事情總是出錯,因為人是出了名的不擅長估算自己的技術水平:
  "百分之90開發時間花在90%代碼上,剩余的10%代碼量卻又花費了90%的開發時間“
  這也許解釋了為什么那么多軟件項目最后超出預算
 
帕金森定律
  是官僚主義或官僚主義現象的一種別稱,被稱為二十世紀西方文化三大發現之一,“官場病”、“組織麻痹病”或者“大企業病”:
  工作量總是會填滿其所需的時間。
  總是有做不完的工作,
 
塞爾定律(Sayre's Law)
  爭議的強度總是和價值成反比。也就是說:重要性越少的事情,人們越有熱情去爭議。
 
帕金森瑣碎定律
  管理學上,帕金森發現一種稱為瑣碎定律現象。在討論非常專業而且金額龐大的事情時,一般人由于缺乏專業知識,不敢隨便發言,以免失言,貽笑大方,因此多半都會肯定(或逃避)該重大方案,而提些與主題無關的雞毛蒜皮小事。相對的,對于簡單的瑣碎小事,由于平常大家都會接觸到而且有相當的認識,反而意見特別多,帕金森稱此現象為瑣碎定律。
  在任何議程項目上所花費的時間與金錢之和成反比。
 
好辯定律
  人們越理解某事物,他們就越愿意去爭論,他們也越好這口。

QQ在線咨詢
客戶服務熱線:
13405132033
地址:
江蘇省昆山市創業路800號中創商業中心1號樓20層
天天综合亚洲色在线精品| 国产成人高清亚洲一区app| 久99久热只有精品国产女同| 国模吧双双大尺度炮交gogo| 欧美老熟妇乱大交xxxxx| 中文字幕乱码人在线视频1区| 国产九九久久99精品影院| 国产一区二区三区在线观看免费| 欧美国产亚洲精品高清不卡| (无码视频)在线观看| 7m精品福利视频导航| 国产精品99久久久久久www| 女人的精水喷出来视频| 97人伦影院a级毛片| 国产精品午夜小视频观看| 日韩av片无码一区二区三区不卡| av无码东京热亚洲男人的天堂| 久久久久久久波多野结衣高潮| 亚洲综合校园春色| 久久97久久97精品免视看| 亚洲综合国产成人丁香五月激情| 99久久精品国产免费| 麻豆传播媒体免费版官网| 无翼乌工口肉肉无遮挡无码18| 国产精品泄火熟女| 午夜国产精品久久影院| 操校花| 久久久久人妻一区精品性色av | 一二三四在线观看高清| 精品国产免费一区二区三区| 永久黄网站色视频免费| 老阿姨哔哩哔哩b站肉片茄子芒果| 2020国产精品永久在线| 欧美成人免费一区在线播放| 国产xxxx99真实实拍| 无码色偷偷亚洲国内自拍| 国语对白做受xxxxx在线中国| 亚洲中文无码a∨在线观看| 鲁丝丝国产一区二区| 粉嫩小仙女扒开双腿自慰| 性xxxxfreexxxxx国产|