正態(tài)分布,80/20與中庸

《消失的地平線》里有幾段關(guān)于中庸的文字:

張回答得很慢,且差不多就是自言自語地嘟噥道:“要是用三言兩語來概括的話,親愛的先生,我得說,我們奉行的信仰是中庸之道。我們反復(fù)灌輸杜絕過激言行的美德,甚至包括似是而非或似非而是的理論觀點(diǎn),也許你會(huì)不理解,美德本身也有個(gè)度。在你們所見到的這個(gè)山谷里,有幾千居民生活在我們的管轄之下。我們已經(jīng)發(fā)現(xiàn)很大程度上道義可以帶來幸福;我們用中庸的嚴(yán)謹(jǐn)來規(guī)范自身,而反過來我們又滿足于中庸的遵從。我想,我完全可以這樣說:我們的人民是適度地節(jié)衣縮食,適度地保持貞節(jié),適度地忠誠老實(shí)?!?/p>

這大喇嘛的皺紋更深而且更加重疊在一起,很長一會(huì)兒康維才恍然意識(shí)到他很可能是在笑?!白龃朗聲r(shí)的懶惰可以成為偉大的美德,”這低聲嘟噥又開始了,“無論如何,你都很難發(fā)現(xiàn)我們對這種事有嚴(yán)格的評價(jià)。我相信張已經(jīng)給你們講過我們的中庸之道,其中的一條就是我們總是要適度地行動(dòng)。比如我自己,曾有能力學(xué)好10門語言,假如說我無節(jié)制的話,這10門會(huì)變?yōu)?0門。但是我沒有這樣。其它方面也是同樣的道理;你會(huì)發(fā)現(xiàn)我們既不放蕩也不禁欲。當(dāng)我們到了需要關(guān)心照顧的年齡,我們很高興地接受餐桌上的樂趣,而對年輕同僚們的欲求——山谷的女人們也樂意運(yùn)用中庸之道來對待她們的貞潔。所有事都考慮到了,我覺得你肯定不用費(fèi)多少勁就會(huì)習(xí)慣我們這一套的。張的確也很樂觀——所以經(jīng)過這次見面以后,我說,我也得承認(rèn),你身上有一種迄今為止還從來未曾在任何一個(gè)來訪者身上找到的奇怪的品質(zhì)。不是那么玩世不恭,更不是辛酸。也許有一部分的幻滅,但還有一副清醒的頭腦,是我不曾意料在任何一個(gè)年紀(jì)小于100歲的人身上找到的,如果用一句話概括起來說——這是沒有激情?!?/p>

“中庸”大概因?yàn)橛袀€(gè)“庸俗”的“庸”字,現(xiàn)在有些貶義了。然而細(xì)究起來。和時(shí)尚的80/20方法并無太大不同。不像2個(gè)極端靠攏,就是靠近主流思想,接近絕大多數(shù)。原因在于自然界由于大數(shù)定律,容易構(gòu)造出正態(tài)分布。什么意思?比如一個(gè)骰子,6個(gè)面,隨便扔一下,可能是1,2,3,4,5,6中的一個(gè)。而且出現(xiàn)的可能性各是1/6。如果2個(gè)這樣的骰子呢?扔出來的結(jié)果自然是2,3,4,5,6,7,8,9,10,11,12中的一個(gè),出現(xiàn)的可能性就不是1/12了,出現(xiàn)2和12的可能性最小,出現(xiàn)7的可能性最大。這就有個(gè)正態(tài)分布的樣子了。如果扔N個(gè)骰子,就呈現(xiàn)出標(biāo)準(zhǔn)的正態(tài)分布,一個(gè)兩頭尖中間胖的結(jié)構(gòu)。

還是說寫程序,不知道別人有沒有我這樣矛盾的心情。一方面想用現(xiàn)成的組件搞定事情,幻想寫程序如同搭積木一樣拼拼接接就完成了。另一方面,又要從一行一行代碼開始重復(fù)制造輪子。這個(gè)問題在哪呢?為什么一方面有那么多現(xiàn)成的組件,甚至現(xiàn)成的解決方案,比如Blog比如BBS,你可以一行代碼不寫,安裝個(gè)WordPress,安裝個(gè)Discuz就搞定了。 另一方面,你想做個(gè)有些類似Blog功能但有不完全是Blog的東西,那就麻煩了。因?yàn)槟愫茈y把WordPress拆掉重新搭。而代碼級的東西固然重復(fù)制造了輪子,但畢竟是可以重新打造出一個(gè)Blog系統(tǒng)的。

所以說,寫程序的現(xiàn)狀是:現(xiàn)成的東西都在兩頭。一頭特別細(xì),是一行一行的代碼。一頭特別粗,是一個(gè)一個(gè)完整應(yīng)用。中間的東西完成度不高。

最近要寫個(gè)注冊登陸的東西。哪個(gè)網(wǎng)站沒有注冊登陸?這個(gè)東西夠平常吧。
我的需求也不復(fù)雜,登陸的模塊要前后端分離,后端給Restful API,前端我好用React
數(shù)據(jù)庫先用nedb湊合,如果項(xiàng)目大了再用mongodb

然而找到的幾個(gè)方案有:
https://github.com/zeMirco/lockit
https://github.com/braitsch/node-login
https://github.com/themouette/express-users

  • lockit
    功能很全,可是我要用nedb怎么辦?
  • node-login
    只能用mongodb
  • express-users
    沒有restful API

很好。都看著有想要的功能,都不能直接用。那么,都是開源的,能拆么? 理論上,是能拆的。然而,是代碼級的拆。不是模塊級的拆,要拆了重用,得一行一行代碼看明白了。這個(gè)叫做學(xué)習(xí)借鑒。不能叫做復(fù)用。

理想的模塊,不僅要水平的拆分。還要垂直的拆分。水平的拆分是不同功能模塊的拆分,垂直的拆分是技術(shù)棧的拆分。前端和后端在url這就該砍一刀??吵蓭讉€(gè)大塊,才能像IBM-PC一樣,分別進(jìn)化,現(xiàn)在的電腦和十年前大不一樣了,然而還是一塊一塊進(jìn)化來的。

寫代碼的中庸,就得搞清楚粒度,不能太小了,也不能太大了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容