The Kiss Principle

轉(zhuǎn)載請注明出處:http://www.reibang.com/p/7d58b96d0185

翻譯原文: https://people.apache.org/~fhanik/kiss.html

什么是KISS原則?

KISS是“Keep It Stupid Simple”或者“Keep It Simple, Stupid”的縮寫介衔。

KISS原則有什么意義赖钞?

這個原則是我多年軟件工程中獲得成功的一個關(guān)鍵纪铺。當今軟件工程師和開發(fā)人員面臨的一個普遍問題是,他們傾向于使問題復雜化搀别。
通常情況下退个,當一個開發(fā)者遇到問題時湾趾,他會將這個問題分解成自己能夠理解的更為細小的問題,然后才會去進行編碼實現(xiàn)這個問題唯鸭。但我想說百分之八九十的開發(fā)者都會犯這樣一個錯:他們并沒有將問題分解的足夠小或者說足夠容易理解须蜗。這導致了一方面可能需要用非常復雜的實現(xiàn)去解決一個非常簡單的問題,另一方面就是代碼寫的像意大利面一樣,代碼非常臃腫混亂明肮,在BASIC中一個goto就可以搞定的事菱农,同樣在Java中可能需要數(shù)百行代碼才可以搞定。
這些混亂的代碼之所以存在柿估,就是因為直到開發(fā)者開始編碼時才發(fā)現(xiàn)之前的解決方案還存在各種異常情況沒考慮到循未。如果開發(fā)者在設(shè)計解決方案時能夠?qū)栴}分解的足夠小,那么這些異常情況就不會被遺漏了秫舌。

我們能夠從KISS原則中獲得什么樣的好處的妖?

  • 你將會以更快的速度解決更多的問題
  • 你將會用很少的代碼去解決復雜的問題
  • 你將能夠?qū)懗龈哔|(zhì)量的代碼
  • 你將能夠設(shè)計出更大的系統(tǒng),并且能夠更加容易的維護
  • 當新需求來的時候足陨,你的代碼將能夠更靈活嫂粟,更容易的去擴展、修改以及重構(gòu)
  • 你將能夠獲得超出你想象的好處
  • 因為代碼寫的非常簡潔墨缘,你將能夠在大型的開發(fā)團隊星虹、項目中如魚得水

我如何才能將KISS原則應用到我的工作中?

這兒有幾個非常簡單的步驟可以遵循镊讼,對于有些人來說可能有點挑戰(zhàn)宽涌。聽起來非常容易,保持簡單(keeping it simple)狠毯,這是一個耐心的問題护糖,容易與否完全取決于你自己。

  • 保持謙遜嚼松,不要認為自己是一個超級天才嫡良,否則這就是你犯得第一個錯誤。
    相反保持謙遜献酗,最后卻一定能夠讓你變成一個超級天才=)寝受,就算你不是天才,也沒關(guān)系罕偎。只要你的代碼寫的足夠簡潔很澄,就算你不是天才也能夠勝任它。(只要代碼寫的足夠簡潔颜及,傻子也能理解)
  • 把你的任務分解成足夠細小的子任務甩苛,原則上來講,這些子任務的的編碼時間不應該超過4-12小時俏站。
  • 把你的問題分析成許多足夠小得問題讯蒲。每一個小問題應該在一個類或者極少的幾個類里解決掉。
  • 保持的方法足夠小肄扎,每一個方法原則上不應該超過30-40行代碼墨林。每一個方法應該只解決一個小問題赁酝,而不應該包含多種使用情況。
    如果你的方法中有許多條件分支旭等,那么就把他們移除這個方法作為更小的方法酌呆。
    這樣做不僅讓代碼更容易閱讀和維護,也會讓你能夠更快的定位bug搔耕。
    你要學會去喜歡重構(gòu)你的代碼隙袁。
  • 保持你的類足夠小。在方法中描述的方法同樣適用在這里度迂。
  • 先想好解決問題的辦法藤乙,然后再進行編碼,而不是相反惭墓。
    很多開發(fā)者喜歡一邊編碼一邊解決問題坛梁,當然這也沒沒錯。事實上腊凶,你也可以這樣做划咐,并堅持編碼和解決問題同時進行。
    如果你能在編碼的同時钧萍,依然有能力把問題進行分解褐缠,那你就這樣做。不要害怕重構(gòu)你的代碼风瘦。最終結(jié)果才是重要的队魏,代碼行數(shù)并不是一個測量標準,當然了代碼行數(shù)越少越好万搔。
  • 不要害怕刪除代碼胡桨。重構(gòu)代碼和二次編碼是非常重要的兩個部分。當你遇到一個之前不存在的需求時瞬雹,或者這個需求在你開始編碼時并沒有被意識到昧谊,你可能會想到一個更好的辦法來解決這些問題。
    如果你一直遵循上面的這些建議酗捌,那么重新編寫的代碼量可能非常小呢诬。相反,如果你并沒有遵循這些建議胖缤,那么你的代碼可能處處都需要重新編寫了尚镰。
  • 對于其它所有場景,一樣盡可能的保持簡單哪廓,這樣做可能會很難狗唉,但是一旦你做到了,等你回顧的時候撩独,你將會對你取得的成果大吃一驚敞曹。

是否有一些KISS原則的例子?

有非常多综膀,我將會找一些真正非常棒的例子放在這兒澳迫。但是現(xiàn)在我想讓你們思考下面這幾句話。
世界上最牛逼的算法一般都是代碼行數(shù)最少的剧劝。當閱讀這些代碼時橄登,我們能夠非常容易的理解它們。這些算法的創(chuàng)新者讥此,在進行編碼前會將這些問題進行充分分解拢锹,直到這些問題能夠被非常容易的理解與實現(xiàn)。
許多偉大問題的解決者并不是一個偉大的程序員萄喳,但他們依然能夠?qū)懗鰝ゴ蟮拇a卒稳。

KISS原則只適用Java編碼嗎?

很顯然并不是他巨,它適用于其它許多的編程語言充坑,并且可以擴展到你的生活方方面面。
KISS原則不適用的領(lǐng)域有:情感染突、愛捻爷,當然最重要的,不要把它應用到你的婚姻中:)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末份企,一起剝皮案震驚了整個濱河市也榄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌司志,老刑警劉巖甜紫,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異俐芯,居然都是意外死亡棵介,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門吧史,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邮辽,“玉大人,你說我怎么就攤上這事贸营《质觯” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵钞脂,是天一觀的道長揣云。 經(jīng)常有香客問我,道長冰啃,這世上最難降的妖魔是什么邓夕? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任刘莹,我火速辦了婚禮,結(jié)果婚禮上焚刚,老公的妹妹穿的比我還像新娘点弯。我一直安慰自己,他們只是感情好矿咕,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布抢肛。 她就那樣靜靜地躺著,像睡著了一般碳柱。 火紅的嫁衣襯著肌膚如雪捡絮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天莲镣,我揣著相機與錄音福稳,去河邊找鬼。 笑死瑞侮,一個胖子當著我的面吹牛灵寺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播区岗,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼略板,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慈缔?” 一聲冷哼從身側(cè)響起叮称,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藐鹤,沒想到半個月后瓤檐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡娱节,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年挠蛉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肄满。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡谴古,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稠歉,到底是詐尸還是另有隱情掰担,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布怒炸,位于F島的核電站带饱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阅羹。R本人自食惡果不足惜勺疼,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一教寂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧执庐,春花似錦孝宗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽问潭。三九已至猿诸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狡忙,已是汗流浹背梳虽。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灾茁,地道東北人窜觉。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像北专,于是被迫代替她去往敵國和親禀挫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容