後來,辛巴杜用錘子把那輛車的玻璃敲了個大洞。 結果呢,僅僅過了幾個小時,它就不見了。 以這項實驗為基礎,政治學家威爾遜和犯罪學家凱琳提出了乙個「破窗效應」理論,認為:如果有人打壞了一幢建築物的窗戶玻璃,而這扇窗戶又得不到及時的維修,別人就可能受到某些示範性的縱容去打爛更多的窗戶。破窗效應其實反應了重構的需求, 而放縱軟體中各種亂象, 其最終結果可**到是軟體的熵越來越高.
複製黏貼的例子
class a
dosth();//複製者不清楚該**是幹嘛(3)
} private
void
dosth()
}//複製黏貼後
class b
dosth();
} private
void
dosth()
}class c
dosth();
} private
void
dosth()
}
複製黏貼了兩次之後, 我們發現,這裡有兩處硬**, 分別是(1),(3). 注意這時候, a,b,c是具有相同特徵, 卻沒有進行重構,
通過將類a提取出來父類, b,c,d繼承該父類(介面)
統一新增方法, 或者修改
intellij idea有該重構的快捷操作這時候若是找到相同特徵, 就應該現在抽象出現. (重點) 即便不知道該抽象叫什麼名字
抽象可以使用抽象類(反正jdk7下的就只能使用這個, 從而達到減少重複**)
當該類似的**多了之後, 我們要進行重構就會遇到阻力.
a,b,c,d….他們在哪個包, 要怎麼找到他們. (這裡顯得有特徵 [父類] 和 [介面]的重要性)
找到a,b,c,d..要進行一一修改, 這工作量大
接下來, 為什麼我覺得這裡會容易出現 [破窗效應]?
找到class a,b,c…是有難度, 所以有的程式設計師認為, 應該採取碰到該類再修改, 出於以下原因
修改了之後不知道是否真沒影響, 需要一一檢查
工作量大, 工程進度要求, 且放下
這樣導致的問題
[疑惑] 新參與專案的員工遇到同乙個功能, 有兩種或以上寫法, 倘若選擇了舊的, 將會導致**[破窗效應] (軟體的熵公升高)
雷尼爾效應 破窗理論
今天讀了夢想風暴 的一篇部落格 忍無可忍 講重構的。裡面涉及到了這樣乙個名詞 破窗戶理論。搜了一下,讀了這麼兩篇文章 雷尼爾效應 破窗戶理論與學校管理 現摘抄總結如下 雷尼爾效應 第一篇文章中寫道 雷尼爾效應 於美國西雅圖華盛頓大學的一次風波。美國西雅圖的華盛頓大學曾經選擇了一處地點,準備在那裡修建...
破窗理論的組織啟示
href file c 5cdocume 7e1 5cadmini 7e1 5clocals 7e1 5ctemp 5cmsohtml1 5c04 5cclip filelist.xml rel file list href file c docume 1 admini 1 locals 1 tem...
社交平台如何防破窗效應 口袋狼人殺建反賭博機制
若一扇窗戶被打破,卻遲遲沒有人來修補,猜猜會發生什麼?政治學家威爾遜給出的答案是 隔不久,其他的窗戶也會莫名其妙地被人打破。這便是著名的 破窗效應 該理論認為如果環境中的非法現象不被遏制,就會傳遞無序的訊號,導致越來越多人肆意作惡。現實中社交平台的運營也是如此,如果app中的不良資訊被放任自流,便會...