一 一群盲人被帶到一頭大象面前瞒窒,讓他們摸摸大象像什么湃崩。一個(gè)瞎子摸到了大象的腿,說大象像一棵樹聊记;另一個(gè)瞎子摸到了大象的耳朵先改,說大象像一個(gè)扇子;第三個(gè)摸著大象的身體,說它像一堵墻...
注:本文原名《OO NOT SUCKS, YOU DO》捻艳。 緣起 Erlang之父Joe Armstrong曾經(jīng)寫過一篇《Why OO Sucks》,被很多反OO的程序員——...
正交設(shè)計(jì)认轨,是普遍的設(shè)計(jì)原則,與粒度無關(guān)月培,與編程范式無關(guān)嘁字,更與具體的實(shí)現(xiàn)語言無關(guān)。(雖然確實(shí)在不同的編程范式下杉畜,或使用不同的編程語言時(shí)纪蜒,具體的解決方法或難易程度不同,這也正是為...
函數(shù)式編程與面向?qū)ο缶幊蘙5]:編程的本質(zhì) 之劍 2016.5.6 01:26:31 編程的本質(zhì) 讀到兩篇文章,寫的不錯, 綜合摘錄一下 復(fù)合是編程的本質(zhì) 函數(shù)式程序員在洞察...
關(guān)鍵字struct是C++繼承自C語言的一項(xiàng)遺產(chǎn)。作為更加貼切的詞匯,class 被引入C++丸相,用來表現(xiàn)類。這個(gè)決策造成的結(jié)果是:一種語言提供了兩個(gè)關(guān)鍵字來表示完全一致的概念...
錯誤/異常處理杆烁,一直是程序員痛恨,卻無法擺脫的夢魘简卧。如果一個(gè)系統(tǒng)中僅包含happy path的實(shí)現(xiàn)兔魂,那么這個(gè)系統(tǒng)的代碼規(guī)模會顯著縮小,而邏輯清晰度則大大增加举娩。 C++ 以及更...
Everything should be made as simple as possible, but not simpler.-- Albert Einstein 我們一...
一個(gè)出發(fā)點(diǎn) 當(dāng)談起軟件設(shè)計(jì)的目的時(shí)析校,能夠獲得所有人認(rèn)同的答案只有一個(gè):功能實(shí)現(xiàn)。 因?yàn)檫@是一個(gè)軟件存在的根本原因铜涉。 而在計(jì)算機(jī)軟件發(fā)展的初期智玻,這一點(diǎn)也正是所有人做軟件設(shè)計(jì)的唯...