泛型函數的安全規則

Wednesday, January 05, 2005

Security Rules with Generic Functions: Half the Code, Seven Fewer Interfaces

 

爲了用泛型函數代替適配器(adaptation),我僅僅重構了peak.security的訪問控制規則框架。結果代碼量減少了一半還多(老版本480行,而現在140行),且僅用了一個接口(老版本是八個)。老版本廣泛使用接口來實現適配器,而新版用的是更加靈活的泛型函數。

然而,泛型函數不一定總能代替適配器和接口,從技術角度看,泛型函數憑藉接口的適配和方法調用可以做任何事,但某些時候接口+適配器對於實際情況來說卻是更好的一個方法,或者說是更便捷、更有表現力的方式,特別是在文檔方面(例如,我在新的實現中預留的接口純粹是出於文檔化目的)。

可在編寫新的規則系統過程中,我確實揪出了一些泛型函數的Bug。慶幸的是都不怎麼嚴重。但是當有Bug出現時我就會對代碼感覺良好,若沒有發現Bug我會覺得“這些東西不應該如此這般正確”。那些修復過Bug的代碼的健壯性會更好,雖不那麼純潔了,但更經得起風浪。所以說回來,即使是進行過大量單元測試,有時你仍不知道是否測試到點子上,直至日後的某一天

 

(原文鏈接網址:http://dirtsimple.org/2005/01/security-rules-with-generic-functions.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章