1 在開發(fā)團(tuán)隊(duì)和開發(fā)社區(qū)里面推行通用標(biāo)準(zhǔn)是一件好事。它使人們更容易閱讀彼此的代碼,更迅速地理解代碼中的習(xí)語(yǔ),餅有效避免率性而為的隨意編程。但是,盲目固守標(biāo)準(zhǔn)就會(huì)跟完全沒有差不多。。
2 AntiObject
有時(shí)候,你應(yīng)當(dāng)質(zhì)疑權(quán)威式你自己對(duì)么謳歌問題特定解決方案的偏好。
《PacMan》游戲 控制臺(tái)在20世紀(jì)70年代誕生,它的計(jì)算能力比今天的一個(gè)廉價(jià)手機(jī)還弱。然而,它需要解決一個(gè)相當(dāng)有難度的問題:如何讓那些鬼魂穿過迷宮來(lái)追趕PacMan?那也就是說(shuō):穿過迷宮是一個(gè)移動(dòng)目標(biāo)的最短距離是多少?這是一個(gè)很大的問題,特別是如果你是用的內(nèi)存很小或者計(jì)算能力很弱的。。。。。他們是用反目標(biāo)的方法,將智能建于迷宮自身!
《PacMan》中的迷宮就像一個(gè)自動(dòng)機(jī)。迷宮的每個(gè)房間都有與之相關(guān)的簡(jiǎn)單規(guī)則,從左上端開始知道右下端,這些房間每次都執(zhí)行一遍。每個(gè)房間會(huì)記住一個(gè)Pacman氣味值。當(dāng)PacMan位于一個(gè)房間中,這個(gè)房間就具有最大的PacMan氣味值。如果它離開這個(gè)房間,改房間的PacMan氣味值就等于最大值減1。其為隨著輪次的進(jìn)行而遞減,直至消失。這是,鬼魂們就變得愚鈍了。。。當(dāng)他們嗅到氣味時(shí),就朝著氣味最重的房間走。。
這個(gè)問題“顯而易見”的解決方案是給鬼魂們賦予智能。。然而更簡(jiǎn)單的方法是給迷宮賦予智能。這就是反目標(biāo)方法:反轉(zhuǎn)計(jì)算的前因后果。不要掉入“傳統(tǒng)的建模方法總是正確的”陷阱中,也學(xué)一個(gè)特定的問題完全可以用另一種語(yǔ)言很容易就解決了。。。
呵呵,最后一篇了。??赐炅恕禩he Productive Programmer》收獲還蠻大的。。開闊了一下視野。值!