程式設計師殺人必備 排除法

2021-07-10 11:47:12 字數 1051 閱讀 9126

今天我要講一下排除法,排除法是我在解決技術問題時,最常用的辦法。

玩這遊戲,你需要對人物進行分類,對活與死分類,性別分類,姓名分類,職業分類,朝代分類等等。

比如如果猜孫悟空,包含的屬性是:虛擬的,四大名著裡的,名字三個字的,師徒四人裡的,一一拆解。最終是把目標名字給揪出來。

以我在技術群體裡玩這個遊戲的經驗,大多名字都可以在10個問題內問題出來。玩這遊戲的前提是,你對人物屬性的分類是熟悉的。如果不熟,乙個個猜名字,人記住的名字,少說也成千上萬。不可能乙個個去試。

乙個個去試的辦法,我定義為賭徒。

排除法,不是賭,是幾近100%達到目標的辦法。

如同碰到技術問題,需要去解決的時候,很多程式設計師生手,使用的就是賭徒的辦法,乙個個去試。有甚者,試來試去還在原地打圈(試來試去,就是那幾個可能性)。如同無頭蒼蠅一般。

使用排除法的前提,一定需要對出問題的環節組成有清晰的認識。比如一台電腦不能開機。有可能是電腦問題,有可能記憶體問題,有可能主機板問題,有可能插線板問題。而不是腦子裡,只有乙個詞:電腦壞了。我們可能通過,換插線板,把記憶體拔除,再拿一台電腦來,逐一零件替換... 最後一定可以定位出問題出在**。

雖然,更小的細節,比如主機板壞了,具體哪個積體電路壞了,或者哪個電容壞了,沒辦法查,但從大件上來說,你已經定位出來了。你腦子裡是有排除法的概念的。如果對電腦的細節不了解,就沒有辦法對更細一層級使用排除法。但對於電腦維護從業人員來說,他們是要使用排除法的。

回想這麼多年的技術生涯,我用得最多的還就是排除法。但排除法的前提就是,你需要對解決問題的物件的原理,要了解清楚。當然了,細度也是無限的,每個人對自己的需要,或者自己的情況,自己掌握需要了解原理的粒度。比如一般人來說,對電腦的原理,就需要知道,硬碟壞掉,記憶體壞掉,電源壞掉,大概會有什麼樣的問題。而不需要深入到電路板原理粒度。

做技術時間長,解決問題的辦法其實是沒什麼增長,增長的是知識量。豐度與細度原理的增加。還有就是經驗,經驗的作用,其實也就是把問題可能性的點排序。有經驗的,可能第乙個問題,就能把答案問題出來。

比如我曾經有別人玩猜人名,我看到對方眼睛轉了幾轉,最後眼睛停留在我身上,然後皮笑肉不笑地跟我說,我想好了,你猜吧。我說,你猜的是不是我。然後該位兄弟崩潰了。

程式設計師公升級必備

程式設計師公升級必備 學過高中物理的人,應該會記得,原子中的電子獲得能量之後,會發生能級躍遷,到達更高的能量狀態。其實任何工種都是一樣的,要跳出自己的水平,到達更高的級別,不是件容易的事。這個跳躍過程總需要一些東西的輔助。誠然,如果要成為乙個好人,那麼只要做好在幼兒園中學到的一切就足夠。如果要成為乙...

程式設計師公升級必備

程式設計師公升級必備 學過高中物理的人,應該會記得,原子中的電子獲得能量之後,會發生能級躍遷,到達更高的能量狀態。其實任何工種都是一樣的,要跳出自己的水平,到達更高的級別,不是件容易的事。這個跳躍過程總需要一些東西的輔助。誠然,如果要成為乙個好人,那麼只要做好在幼兒園中學到的一切就足夠。如果要成為乙...

程式設計師必備素質 隨想

寫 這麼多年,突然想到要整理乙個好的程式設計師必備素質。1.紮實的基礎 基礎知識不牢靠都會遇到瓶頸,思維會受到限制,解決問題會難有思路。2.豐富的想象力 需要不按常規出牌,就需要你強大的想象力,把不同問題關聯起來,形成觸類旁通的效果。黑客與畫家 告訴我們最好的程式設計師都是黑客,他們與畫家一樣都豐富...