最臭的臭彈(Biggest Stinkers)

2022-03-26 05:49:52 字數 657 閱讀 7933

在 sdtconf 2009 論壇上,corey haines 和我共同主持了乙個叫做「最臭的臭彈」的研討會。會議上,我們試圖去尋找下面兩個(不同的)問題的答案:

儘管字面上這兩個問題很相似,但我認為這第二個問題更具有廣泛的意義,跟第乙個有很大的不同。

不管怎樣,這次研討會都能稱得上是乙個熱鬧的會議。我們有不少很厲害的辯手來批判所謂的最臭的**的味道(最臭的臭彈):

然而,如果當大家都認為專案裡我們必須自己寫點自己的**時候,那麼我們最應該提防的一件事情是什麼呢?srp 和 connascence 真的可以幫你實現高內斂的設計。如果程式不是高內斂的,我們應該很容易可以在裡面發現重複的**(至少是概念上的重複),你也會發現只要在設計上選擇正確的方式進行抽象提取就能很好的解決這種問題。所以**重複和primitive obsession實際是相互因果的關係。

據我的經驗,我要補充一下,我曾看到過有程式並沒有多少的重複,但卻非常讓人難以理解,這是為什麼?所以我要提出,「只要是**進行了較好的抽象,它就會很容易讓人理解和易於推理出其功能」。同樣,如果你試圖去消除重複的**,在某一程度上,這裡並沒有字面上的重複,但是這裡卻存在乙個概念上的重複,那麼只有對它進行更高一級的抽象就能有效的解決這個問題。因此我的結論是:回顧往日經歷, primitive obsession

才是針對低質量設計最大的難題,也就是所說的最臭的臭蛋。

最臭的臭彈(Biggest Stinkers)

在 sdtconf 2009 論壇上,corey haines 和我共同主持了乙個叫做 最臭的臭彈 的研討會。會議上,我們試圖去尋找下面兩個 不同的 問題的答案 儘管字面上這兩個問題很相似,但我認為這第二個問題更具有廣泛的意義,跟第乙個有很大的不同。不管怎樣,這次研討會都能稱得上是乙個熱鬧的會議。我...

rabbitmq的臭毛病

firewalld is not running 1.通過systemctl status firewalld檢視firewalld狀態,發現當前是dead狀態,即防火牆未開啟。檢視已經開放的埠 firewall cmd list ports 開放埠firewall cmd zone public ...

C與C 的區別 臭飯飯

博主 臭飯飯 id weixin 42313564 幕布 軟體 賬號id 1398637 使用的幕布筆記 c與c 的區別 臭飯飯 inline 內聯函式 c89 與 c99的區別 函式過載 返回值型別 不管 如果 有多個函式的名字相同 若沒有函式過載,最終函式生成的函式符號相同 但是形參列表 不同 ...