程序員的思惟模型指南

前言

人與人之間最大的差別是認知差別,而認知源於思惟方式。相同的人,不一樣的思惟方式能塑造出徹底不一樣的情緒、行爲和選擇,因此十分有必要了解優秀的思惟的運做方式,並以此指導咱們的生活、學習和工做。編程

本文對心理學、數學、工程學、生物學、物理學、化學、統計學、經濟學、管理學、計算機軟件學等學科的思惟模型定義或要素作了總結、梳理,並列舉了跨學科的應用案例,特別是在計算機軟件學科上的案例。但願對程序員羣體能有所啓發和幫助。架構

學科

心理學

逆向思惟

  • 模型定義或要素框架

    把問題反過來想,就是說要解出來x,得先研究如何能獲得非x分佈式

  • 跨學科應用案例函數式編程

    對於複雜適應系統以及大腦本身,若是採用逆向思考,問題每每會變得更容易解決。函數

    1. 五年後藍圖是什麼?這個問題很差回答,咱們逆向轉化爲:五年前的藍圖是什麼,相對比較好回答了。
    2. 若是你想要幫助中國,你應該考慮的問題不是「我要怎樣才能幫助中國」,相反地,大家應該問「我要怎樣才能損害中國」。
    3. 數學中的「反證法」。如證實是否存在一個最大的質數。能夠先假設存在,再在假設基礎上,找到個比它更大的質數。以之反證。

人類誤判心理學

  • 模型定義或要素工具

    情感傾向每每受基因控制,具備動物性,而非理性,從而致使大量認知錯誤。這些情感傾向包括喜歡、討厭、生氣、懷疑、認同、回饋等。典型的認知誤差如受簡單聯想影響的傾向、被剝奪反應傾向、得到性誤差、確認誤差、霍桑效應、旁觀者效應(責任分散效應) 、曝光效應等等。性能

  • 跨學科應用案例學習

    1. 確認誤差在教練、PK中的應用:經過提問引導對方本身說出答案,對方對答案就有較高的接受度。
    2. 霍桑效應在下級管理中的應用:管理者只須要表現出關注一我的的任務時,這我的的工做效率就會有很大機率的提升。
    3. 曝光效應在上級管理中的應用:只須要多在上級面前多刷存在感,就能創建好感。
    4. 受簡單聯想影響的傾向在引導中的應用:讓A、B兩件不相干的事情前後發生,經過得到指望結果B,讓被引導者更容易承認接受A。
    5. 如何讓老-虎-機賺更多的錢?提升近似中獎的機率,使玩家產生被剝奪的心理誤判,引導其持續下注。
    6. 得到性誤差指人們對一個事物判斷失誤每每不是由於他什麼都不知道,而是由於把注意力太多都放在了已經擁有的部分。
      例如飛回來的飛機,專家認爲翅膀中彈最多,因此須要加固翅膀。這就是一種得到性誤差。偏偏相反,最須要加固的反而是中彈最少的地方。

峯值尾值理論

  • 模型定義或要素

    峯值、尾值

  • 跨學科應用案例

    1. 在寫做上的應用:龍頭、豬肚、鳳尾
    2. 在人際關係上的應用:在請別人吃飯的時候,李嘉誠老是提早到酒店的電梯口等客人到來;宴請結束時,李嘉誠還會和你們一一握手告別,包括服務人員,而且送你們到電梯口,直到電梯關上才離開。
    3. 在客戶關係上的應用:海底撈的拉麪表演,形式新穎,讓人眼前一亮。

破窗效應

  • 模型定義或要素

    環境中的不良現象若是被聽任存在,會誘令人們仿效,甚至變本加厲。

  • 跨學科應用案例

    1. 軟件開發中的「壞味道」的代碼是破窗。

蜥蜴邏輯

  • 模型定義或要素

    下意識表現出來的情感每每是非理性的,會致使錯誤判斷。

  • 跨學科應用案例

    1. 戰鬥、逃跑或恐懼,馬上行動,領頭意識等等。

多感官反饋

  • 模型定義或要素

    視覺、聽覺、觸覺、味覺、嗅覺

  • 跨學科應用案例

    1. 高效閱讀中,有一個提升閱讀速讀的技巧就是「指讀法」,經過手指的快速移動,消除眼睛的回讀效應。

異類聯想

  • 模型定義或要素

    讓知識創建鏈接,把一個領域經驗用到另外一個領域中。

  • 跨學科應用案例

    1. 把人的大腦類比爲計算機,就會得出不少有趣的發現:大腦是雙CPU共享總線,左右腦有總線競爭,因此讓左腦釋放總線,右腦才能發揮做用;記憶是DRAM,保持數據就要定時刷新(反覆記憶) 。
    2. 軟件開發模式 類比 樂高積木。那麼在搭樂高時總結的技巧是否能夠應用在軟件開發上?

墨菲定律

  • 模型定義或要素

    若是事情可能出錯,它就會出錯。

  • 跨學科應用案例

    1. 在設計系統時,應該多考慮 墨菲定律:
      任何事物都沒有表面看起來那麼簡單。
      全部的事都會比你預計的時間長。
      可能出錯的事總會出錯。
      若是你擔憂某種狀況發生,那麼他就更有可能發生。
    2. 防護性編程、版本控制、TDD、等等,這些都是針對這必定律的防護性實踐。

數學

定義式思惟

  • 模型定義或要素

    定義的過程,本質上是在回答一個事物是什麼、不是什麼的過程,是創建事物的邊界、鎖定事物本質特徵的過程。

  • 跨學科應用案例

    1. 討論問題時,能夠這麼問:「你說的XX的定義是?」,「給我一個主語」,「給我一個賓語」,「你說的‘他們’指誰?」

概括與類比(分類與變換)

  • 模型定義或要素

    概括、類比

  • 跨學科應用案例

    1. 操做系統類比團隊管理,那麼團隊管理能夠從操做系統中的通訊機制、進程管理、內存管理等策略中借鑑些什麼?反之呢?
    2. 從TCP通訊看如何有效溝通。TCP斷鏈的四次握手,收到請求時回覆一次,完成任務後再回復一次。

冪次法則

  • 模型定義或要素

    非線性、重複

  • 跨學科應用案例

    複雜系統每每符合冪次法則。

    1. 持續重複一個事情最終能帶來非線性的變化,如對一項技能的刻意練習;一我的事業的發展;我的財富的積累等

正交性

  • 模型定義或要素

    用向量術語說,兩條直線互不依賴。

  • 跨學科應用案例

    1. 軟件設計的正交性。在計算機技術中,正交性用於表示某種不相依賴性或是解耦性。若是兩個或更多事物中的一個發生變化,不會影響其餘事物。
    2. 項目團隊劃分的正交性。若是團隊的組織有許多重疊,哪一個成員就會對責任感感到困惑。

排列組合原理

  • 模型定義或要素

    先選元素(組合),後排列,按元素的性質進行「分類」和按事件的過程「分步」,始終是處理排列、組合問題的基本原理和方法,經過解題訓練要注意積累和掌握分類和分步的基本技能,保證每步獨立,達到分類標準明確,分步層次清楚,不重不漏。

  • 跨學科應用案例

    1. 經過排列組合對問題進行全面分析。如在投資學中,股票內容與價位的排列組合4象限分析方法。在人的管理中,意願和能力的排列組合4象限分析方法。在時間管理中,緊急和重要的排列組合4象限分析方法。
    2. 經過排列組合進行創新。如電視+電話組合出來了新的產品可視電話、自行車+移動支付組合出來了共享單車、汽車+電池組合出來電動汽車等等。

決策樹理論

  • 模型定義或要素

    在已知各類狀況發生機率的基礎上,經過構成決策樹來求取淨現值的指望值大於等於零的機率,評價項目風險,判斷其可行性的決策分析方法,是直觀運用機率分析的一種圖解法。

  • 跨學科應用案例

    1. 用決策樹決策是否投資房產。
    2. 用決策樹決策是否投資學習一個新技能,如Java。

工程學

控制論

  • 模型定義或要素

    對設定的目標,經過屢次輸入和輸出,反饋調節,最終達成目標的方法。

  • 跨學科應用案例

    1. 敏捷軟件開發提倡小步快跑、收集反饋、快速迭代,就是對控制論思惟最好的應用。
    2. 用控制論提升學習效率。看了再多書,本質上只是輸入,沒有產生價值。你須要輸出來產生價值,輸出能夠是書寫、教會別人、應用等;並在輸出過程當中,找到知識盲區,糾正錯誤的觀點。
    3. 費曼學習法。
    4. 系統思考。系統思考語言有三個基本元件:不斷加強的反饋,反覆調節的反饋,時間延滯。

質量控制理論

  • 模型定義或要素

    質量控制是爲了經過監視質量造成過程,消除質量環上全部階段引發不合格或不滿意效果的因素。以達到質量要求,獲取經濟效益,而採用的各類質量做業技術和活動。

  • 跨學科應用案例

    1. DevOps敏捷工具鏈平臺就是質量控制思惟的一種體現。

冗餘備份

  • 模型定義或要素

    爲達成目標多準備一份或多份能夠實現同一功能的系統,以備不時之需,減小失敗的可能性。

  • 跨學科應用案例

    1. 汽車後備箱的備用輪胎,就是一種冗餘備份思惟的體現。
    2. 從冗餘備份思惟看,爲我的財務增長冗餘,就顯得十分重要。
    3. 關鍵系統部件,每每採用硬件冗餘備份來提升系統可靠性,如核心路由器的雙主控系統。

生物學

生命週期

  • 模型定義或要素

    萬物皆有生命週期。

  • 跨學科應用案例

    1. 從生命週期看軟件架構,軟件架構的拆分就是對生命週期的拆分。

      a. 根據要解決的問題,肯定問題的主題,界定目標的邊界。

      b. 切分目標的生命週期,區別核心與非核心生命週期。將非核心生命週期獨立起來,使之並行起來,縮短整個生命週期的執行時間。

      c. 對切分後的部分,肯定各自的生命週期和主體,以及負責的角色。

      d. 在拆分後的生命週期之間創建溝通機制。讓非核心生命週期能夠圍繞核心生命週期造成樹狀結構,提供其須要的服務。

    2. 每一個行業/技術生命週期都包括:出現期、迅速增加期、緩慢增加期、成熟期 和衰退期。

生態系統

  • 模型定義或要素

    生態循環、多樣性、環境

  • 跨學科應用案例

    1. 任務事物都不是孤立的,都是生態系統的一部分。分析一件事物時,不要孤立地分析個體,而要找到它的生態循環系統,並從生態系統的內、外部2個視角進行分析。如軟件工程中作需求分析、整體方案設計時,先畫出其所屬系統,肯定其在系統中的位置、關係和邊界,並分別進行分析。
    2. 多樣性能有效激活系統的正向循環。研發團隊做爲一個生態系統考慮的話,它的多樣性是否足夠?
    3. 動物在合適生長的地方可以繁衍,一樣地,那些在商業世界中專一於某個領域的人,每每可以獲得他們沒法以其餘方式得到的良好經濟回報。

物理學

熵增定律(熱力學第二定律)

  • 模型定義或要素

    隨時間進行,一個孤立體系中的熵不會減少。

  • 跨學科應用案例

    1. 封閉系統必然走向混亂,我的和組織的成長必需保持開放,引入外力。
    2. 技術人員寫博客是一個反熵增行爲,由於博客是一個開放、資源交換的窗口。
    3. 軟件的熵。當軟件中的無序增加時,咱們稱之爲「軟件腐爛」。

萬有引力定律

  • 模型定義或要素

    任意兩個質點有經過連心線方向上的力相互吸引。該引力大小與它們質量的乘積成正比與它們距離的平方成反比,與兩物體的化學組成和其間介質種類無關。

  • 跨學科應用案例

    1. 在人際關係管理中的應用,能力是「質量」,溝通頻次是「距離」,因此自身能力卻大,溝通頻次(如刷臉)越多,對對方的吸引力越大。

臨界點思惟

  • 模型定義或要素

    臨界點模型是高度非線性的,系統在某個點被「引爆」產生突變,一個很小的改變就會產生巨大的影響。

  • 跨學科應用案例

    1. 微小問題若是不加以干預,隨着持續積累,最終會發生質變,變成沒法控制的大問題。

半衰期

  • 模型定義或要素

    放射性元素的原子核有半數發生衰變所需的時間。

  • 跨學科應用案例

    1. 知識的「半衰期」。應該把更多的精力花在半衰期長的知識學習上。若是知識的半衰期爲 5 年,那麼一個工程師或 IT 從業者算下來一週要花費 10 個小時的時間充電學習,才能不掉隊。

海森堡測不許定律

  • 模型定義或要素

    一個微觀粒子的某些物理量(如位置和動量,或方位角與動量矩,還有時間和能量等),不可能同時具備肯定的數值,其中一個量越肯定,另外一個量的不肯定程度就越大。

  • 跨學科應用案例

    1. 「海森堡蟲子」。軟件bug定位過程,調試手段改變了被調試系統的行爲。
    2. 軟件架構設計中,若是設計時候架構不夠內聚單一,可理解性就不是很強,而是單單靠功能測試來驗證架構的正確性,就會出現海森堡的測不許原理帶來的問題,即潛在問題沒法預知。

槓桿原理

  • 模型定義或要素

    要使槓桿平衡,做用在槓桿上的兩個力(動力和阻力)的大小跟它們的力臂成反比。

  • 跨學科應用案例

    1. 研發管理中,要花更多的精力在團隊的前10%成員上,而且利用槓桿原理,讓這些帶頭人影響身邊的團隊成員,撬動整個團隊的氛圍。
    2. 系統思考基本模式中的槓桿解。1.成長上限。包含成長或改善的加強環路,運做一段時間以後,碰上一個抑制成長的調節環路,改善變慢或最終終止。槓桿解:去除限制因素。2.捨本逐末。包含兩個調節環路,其中一個表明見效快的症狀解,另外一個表明經常包含延遲根本解。依賴症狀解會削弱根本解,而且造成一個反作用的加強環路,致使惡性循環。槓桿解:增強根本解。
    3. 金融槓桿原理。

化學

實驗思惟

  • 模型定義或要素

    本質是觀察與概括:實驗-->觀察-->發現、推斷與總結

  • 跨學科應用案例

    1. 在系統設計階段,對不肯定技術方案或技術選型進行快速穿刺驗證。
    2. 軟件故障定位時,對多個懷疑點進行實驗,並對實驗結果進行分析、推斷和總結。

催化效應

  • 模型定義或要素

    催化即經過催化劑改變反應所需的活化自由能,改變反應物的化學反應速率,反應先後催化劑的量和質均不發生改變的反應。

  • 跨學科應用案例

    1. 「石頭湯」的故事,尋找合理的「石頭」,設法催生變化。

統計學

隨機性

  • 模型定義或要素

    世界的大部分都是由隨機的、非連續的、無序的事件構成的。

  • 跨學科應用案例

    1. 情緒管理中應用隨機性思惟,避免歸因誤差。如在工做中和同事由於某個技術問題產生辯論。但在不少時候,一些不相關的人對你作出的刺激實際上並不值得你真的花精力去反饋,而大腦在這種時候每每遠遠沒有你想象的那麼聰明,它只會單純的像只狗同樣對每個外來的刺激信號都發出原始的衝動反應。

正態分佈

  • 模型定義或要素

    多個獨立統計量的和的平均值,符合正態分佈。
    正態分佈式熵最大的機率分佈。
    若是各類因素對結果的影響不是相加,而是相乘,那麼最終結果不是正態分佈,而是對數正態分佈

  • 跨學科應用案例

    1. 把一批數據是否能很好地擬合正態分佈,做爲判斷該批數據是否同質或者真實的依據。
    2. 在不知道真實分佈時,咱們應該選擇在給定的知識的限制下,選擇熵最大的機率分佈,即正態分佈。
    3. 停車場找停車位,根據正態分佈,在入口兩端更容易找到空閒停車位。
    4. 不少事物均可以用正態分佈曲線表示,或者輔助思考,好比,科技創新接受度,基本上就符合正態分佈。

冪律分佈

  • 模型定義或要素

    兩個變量爲冪函數的關係。
    凡是有生命的地方,有進化,有競爭的地方都會出現不一樣程度的無標度現象,即冪率分佈。
    個體間相互影響的臨界狀態,就很容易造成規模不定的連鎖反應,進而在統計上造成冪律分佈。

  • 跨學科應用案例

    1. 微博上全部用戶的粉絲數量符合冪律分佈。
    2. 20%的人口擁有80%的財富,80%的利潤來自20%的顧客。即二八法則。
    3. 在英語學習中應用冪律分佈。2,000個最高頻使用的控制詞彙,使用頻率爲90%,掌握這2000個詞彙,就能快速掌握英語。

經濟學

複利(72法則)

  • 模型定義或要素

    FV = PV * (1+r) ^t,FV位未來值,PV爲如今值、t爲期數、r爲每一期的利率。

  • 跨學科應用案例

    1. 日拱一卒,功不唐捐。複利的人生的2個主要要素:r表明每日的質量、進步,要保證是正的,纔有意義;t要大,要堅持5年,10年甚至20年。
    2. 用複利思惟,設計本身的職業規劃。

規模優點理論

  • 模型定義或要素

    擴大經營規模能夠下降平均成本,從而提升利潤水平。

  • 跨學科應用案例

    1. 從電視廣告中獲得規模優點。從擁有了很高的知名度而得到規模優點。還能夠從社會認同心理學得到規模優點。只有作到第一或者第二,才能造成規模優點。

劣幣驅逐良幣法則

  • 模型定義或要素

    兩種實際價值不一樣而名義價值相同的貨幣同時流通時,實際價值較高的貨幣,即良幣,必然退出流通--它們被收藏、熔化或被輸出國外;實際價值較低的貨幣,即劣幣,則充斥市場。

  • 跨學科應用案例

    1. 技術平庸的資深員工會致使技術能力強的員工離職;
    2. 在追求異性上,優質或普通男性競爭不過劣質男性

二八定律(帕累託定律)

  • 模型定義或要素

    對於不少現象,80%的後果源於 20%的緣由。

  • 跨學科應用案例

    1. 80%的 bug 來自 20%的代碼。
    2. 80%的代碼是由 20%的員工完成的。
    3. 按事情的「重要程度」編排事務優先次序的準則是創建在「重要的少數與瑣碎的多數」的原理的基礎上。
    4. 產品追求小而美,在產品需求管理中應用二八定律:20%新增功能,80%優化現有功能

管理學

金字塔原理

  • 模型定義或要素

    金字塔原理的四個基本原則:結論先行、以上統下、歸類分組和邏輯遞進。

  • 跨學科應用案例

    1. 故障分析文檔能夠採用「問題;結論;詳細分析過程;」三段式結構;「問題;結論」部分要符合「背景-衝突-疑問-答案(SCQA)」結構,「詳細分析過程」要符合「分組概括,自上而下」的結構化思惟,表達形式上能夠採用表格、縮減等形式。
    2. 面對一個問題的時候,先不要立刻進入細節,而要先思考框架,若是沒法找到框架,列出全部信息,用自下而上提煉的方法找到框架;

情境領導

  • 模型定義或要素

    能力、意願四象限

  • 跨學科應用案例

    1. 對不一樣特徵的下屬採用不一樣的領導風格。
    2. 在複雜系統的管理中,首先找出正交的關鍵影響因子,按照因子的排列組合對系統分類、分析和制定不一樣的管理措施。

雙目標清單/雙軌分析

  • 模型定義或要素

    目標清單(即主要目標)vs.拒絕清單(即次要目標)
    理性因素 vs. 潛意識因素

  • 跨學科應用案例

    1. 理性地看,哪些因素真正控制了涉及的利益?其次,當大腦處於潛意識狀態時,會自動造成哪些潛意識因素?這些潛意識是須要格外注意的。

三法則

  • 模型定義或要素

    人通常只能記住三條信息。

  • 跨學科應用案例

    1. 當你試圖說服一個比較資深的人去作某件事的時候,必定要給出三個緣由。不是兩個,也不是四個,要正正好好給出三個緣由。

黃金圈法則

  • 模型定義或要素

    Why-What-How

  • 跨學科應用案例

    1. 用黃金圈法則挖掘需求。如老太太買李子的故事。

PDCA

  • 模型定義或要素

    計劃(Plan) 、執行(Do)、反饋(Check) 、改進(Action)
    意義:每一項工做,都是一個pdca循環,都須要計劃、實施、檢查結果,並進一步進行改進,同時進入下一個循環,只有在日積月累的漸進改善中,纔可能會有質的飛躍,纔可能取得完善每一項工做,完善本身的人生。

  • 跨學科應用案例

    1. 敏捷軟件開發中的SCRUM四會(計劃會、立會、展現會、反思會)就對應PDCA四個環節。
    2. 精益是在目前的基礎的,不斷的改善,不斷的提高,逐步的完善,實際上就是PDCA循環。

DMAIC

  • 模型定義或要素

    定義Define、測量Measure、分析Analyze、改進Improve、控制Control

  • 跨學科應用案例

    1. 可用於降成本、提效等過程改進。如下降外場單板硬件故障率;提升軟件交付質量等等。

SMART

  • 模型定義或要素

    具體的(Specific)、可度量的(Measurable)、可實現的(Attainable)、相關性(Relevant)、時間可控的(Time-based)
    意義:人們在制定工做目標或者任務目標時,考慮一下目標與計劃是否是SMART化的。只有具有SMART化的計劃纔是具備良好可實施性的,也才能指導保證計劃得以實現。

  • 跨學科應用案例

    1. 制定改進措施要符合SMART原則;
    2. 制定OKR目標要符合SMART原則;
    3. 給下屬安排任務要符合SMART原則;

5W2H

  • 模型定義或要素

    5W2H分析法是一個很是好的提問方法,經過一整套標準的流程對事情進行深刻提問,快速理清任務要素。爲何(Why) ;作什麼(What);何人作(Who);什麼時候(When);何地(Where);如何(How);多少(How much)。

  • 跨學科應用案例

    1. 故障分析定位時,用5W2H法快速收集信息:「何時(when)作了什麼(what)操做觸發故障的?爲何(why)作這個操做?故障在哪一個環境的哪一個單板上(where)?那些人(who)已經看過了,他們的定位結論是什麼?這個故障如何(how)復現?這個故障以前出現過多少次(how much)?」

GROW

  • 模型定義或要素

    目標(Goal)、現狀(Reality)、方案(Option)、意願(Will)

  • 跨學科應用案例

    1. 做爲技術教練討論技術方案時應用GROW模型:
      G:你期待的具體目標是什麼?
      R:關於這個問題,以前你作過哪些嘗試?
      O:你還能夠作哪些努力呢?
      W:你能夠總結一下咱們剛剛交流的內容麼?

系統思考

  • 模型定義或要素

    系統循環圖、正負反饋環
    當環路上「O」(反向影響)的個數爲偶數,該環路爲加強環路;
    當環路上「O」(反向影響)的個數爲奇數,該環路爲調節環路。

  • 跨學科應用案例

    1. 可口可樂公司的節約水資源案例。
    2. 系統思考爲何⾃動化測試的推動寸步難行。
    3. 系統思考爲何敏捷推動困難重重。

緊急重要四象限

  • 模型定義或要素

    把事務按照重要程度和緊急程度劃分爲四個象限。
    第一象限(重要並且緊急):當即去作。第一象限的事務越少越好。
    第二象限(重要但不緊急):有計劃去作。投入本身的時間和精力到第二象限中,作好計劃,先緊後鬆。
    第三象限(不重要可是緊急):儘可能交給別人去作;若是沒法交出,耗時短的立刻處理掉;耗時長的可歸類集中處理。
    第四象限(不重要並且不緊急):儘可能別去作,浪費生命。

  • 跨學科應用案例

    1. 在需求管理時,按緊急重要四象限對需求優先級進行排序。
    2. 根據事務的緊急重要程度劃分,選擇IM、郵件、電話、面談等不一樣的交流方式。

SWOT

  • 模型定義或要素

    Strengths:優點;Weaknesses:劣勢;Opportunities:機會;Threats:威脅
    意義:幫您清晰地把握全局,分析本身在資源方面的優點與劣勢,把握環境提供的機會,防範可能存在的風險與威脅,對咱們的成功有很是重要的意義。

  • 跨學科應用案例

    1. 小孩升學擇校時,使用SWOT分析決策。
    2. 技術選型決策時,使用SWOT分析決策。

5WHY

  • 模型定義或要素

    當你要解決一個複雜問題時,你能夠先問本身「這個問題的本質是什麼?」 而後再一層一層的問下去。

  • 跨學科應用案例

    1. 用5why法對設備故障進行根因分析。

思惟導圖

  • 模型定義或要素

    一種利用圖像式思考輔助工具來表達思惟的工具。

  • 跨學科應用案例

    1. 讀書學習時,使用思惟導圖提煉、總結知識點。
    2. 用思惟導圖作會議紀要。
    3. 用思惟導圖作需求分析。
    4. 用思惟導圖作故障根因分析。

計算機軟件學

計算思惟

  • 模型定義或要素

    本質是抽象和自動化。即運用計算機科學的基礎概念去求解問題、設計系統和理解人類行爲。計算思惟也是一種遞歸的思惟。

  • 跨學科應用案例

    1. 軟件開發中遇到的全部問題,均可以經過增長一層抽象而得以解決。過程、對象、函數等都是抽象的有效手段。
    2. 圖靈機本質上是遞歸;函數式編程範式本質上也是遞歸。
    3. 諾伊曼機的基本思想是運算和存儲分離,這也是軟件設計的基本思想:把抽象放進代碼,把細節放進數據。

康威定律

  • 模型定義或要素

    組織溝通方式決定系統設計

  • 跨學科應用案例

    1. 在架構設計劃分系統時,應該多考慮 康威定律:
      系統架構是公司組織架構的反映。
      應該按照業務閉環進行系統拆分/組織架構劃分,實現閉環/高內聚/低耦合,減小溝通成本。
      若是溝通出現問題,那麼應該考慮進行系統和組織架構的調整。
      在合適時機進行系統拆分,不要一開始就把系統/服務拆的很是細,雖然閉環,可是每一個人維護的系統多,維護成本高。

奧卡姆剃刀定律

  • 模型定義或要素

    如無必要,勿增實體,即簡單有效原理

  • 跨學科應用案例

    1. 在投資決策時使用奧卡姆剃刀原則。如自動擋汽車必然逐步替代手動擋汽車,也是由於自動擋對大多數用戶來講知足「簡單有效原理」。

迪米特原則

  • 模型定義或要素

    一個對象應當對其餘對象有儘量少的瞭解,只與你的直接朋友交談,不跟「陌生人」說話。

  • 跨學科應用案例

    1. 某個對象的任何方法都應該只調用屬於如下情形的方法: 它自身;傳入該方法的參數;它建立的對象;直接持有的對象。
相關文章
相關標籤/搜索