Linus的代碼與數(shù)據(jù)結(jié)構(gòu)

Linus說: "爛程序員關(guān)心的是代碼。好程序員關(guān)心的是數(shù)據(jù)結(jié)構(gòu)和它們之間的關(guān)系。"

代碼體現(xiàn)的是過程。數(shù)據(jù)結(jié)構(gòu)(和它們之間的關(guān)系)體現(xiàn)的是實(shí)體。

這里講的過程和實(shí)體,都是模型,是人類思維對(duì)現(xiàn)實(shí)世界認(rèn)知進(jìn)而處理的手段。

相比較而言,人類對(duì)實(shí)體的掌握,似乎要優(yōu)于對(duì)過程。我們覺得實(shí)體比過程更直觀和易處理。

所以面對(duì)復(fù)雜和大規(guī)模的過程,人們借助實(shí)體,來增強(qiáng)認(rèn)知和處理能力 -

  1. 一方面,我們借助實(shí)體,對(duì)過程做分割和組合。比如賣個(gè)東西,是個(gè)復(fù)雜的過程,我們借助訂單、出庫單、送貨單等實(shí)體,把這個(gè)過程分解為相互配合的多個(gè)過程,通過分解降低了過程的復(fù)雜性。
  2. 另一個(gè)方面,我們借助實(shí)體,對(duì)過程作記錄和可視。比如用賬目來記錄經(jīng)營過程,用看板來可視化生產(chǎn)。雖然沒有直接降低復(fù)雜性,但幫助了認(rèn)知和理解。

以上來看,實(shí)體是我們對(duì)付世界的首選武器,即使不得不處理過程,我們也人為地引入實(shí)體來幫忙。

回到Linus的話,說代碼與數(shù)據(jù)結(jié)構(gòu),實(shí)際上說的是程序員如何建模設(shè)計(jì)的問題。我理解Linus的意見是,多用實(shí)體,輔助過程,符合人類思維模式,是聰明的選擇。

更多博文請(qǐng)前往個(gè)人博客閱讀 - http://www.nietongxue.xyz

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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