我已閱讀了所有這些方法:合同設計,面向方面編程,測試驅動開發和單元測試。在實踐中,我只使用單元測試和AOP(AspectJ)。我知道這是不同的事情,但似乎我對他們的目的有一些妄想。DBC,AOP,TDD和單元測試目標之間的差異
問題\索取:您可以爲DBC,AOP,TDD的目的和單元測試之間的差異一個簡短的調查?你能回顧一下我的結論並指出我錯在哪裏嗎?
我的結論:
- DBC VS單元測試:DBC描述了一個不變量contrains,而單元測試強制執行。因此,您使用單元測試來檢查所有工作是否正確,並使用DBC使客戶的代碼更清晰。我對嗎?如果你有單元測試你可能想要使用DBC?只是爲了可讀性?
- DBC vs AOP:AOP既可以用於檢查合同,也可以用於其他便利位置,例如日誌記錄等。我還使用AspectJ進行服務器端驗證。比AOP更廣泛的概念也包含DBC。我對嗎?
- TDD和DBC目的或TDD和AOP有什麼區別?
那麼DBC優於單元測試的優點是什麼? –
對我而言,沒有任何優勢,DBC就像是一個永不履行的承諾,TDD是現在很多程序員都在實踐中取得卓越成果的現實。 – AlfredoCasado