同組同學:石嵐
結對編程的優點和缺點
優點:①'1+1>2',兩個人討論能得出一個比較完善的解決問題的方法
②互相鼓勵,使效率提高
缺點:①若偶爾遇到大的分歧,且兩個人都堅持自己的想法,將不利于項目的進行
結對編程中石嵐的優點和缺點
優點:①具有良好的編程基礎和經驗
②責任心、執行力強
③解決問題能力較強
缺點:①時間把握不太好
information hiding
信息隱藏指在設計和確定模塊時,使得一個模塊內包含的特定信息(過程或數據),對于不需要這些信息的其他模塊來說,是不可訪問的。
信息隱藏的技巧:
①通過接口類
可以通過定義接口類(Java中的interface、C++中的純虛類)來實現信息隱藏。具體實現如下:
定義一個接口類,僅包含一些公有的成員函數的聲明 (Java的abstract函數,C++的純虛函數),沒有任何函數實現,也沒有任何成員變量。然后把具體的實現代碼放到 該接口類的一個派生子類中。
②通過pimpl手法
pimpl手法也叫作“Opaque Pointer”手法。和接口類的手法不同,pimpl手法不需要靠繼承、虛函數等語法的支持,因此對諸如C語言來說,很有用。
interface design
接口設計的方法:
①采用OOD思想,即面向對象的思想,提供類接口或者COM接口。
②對于C函數接口如何設計呢?其實和C++接口設計原則一樣,也采用面向對象的思想,只是
將類設計成結構,公共的成員函數變為全局的函數,私有的成員函數變為static函數即可。
函數接口的第一參數就相當于C++中的this指針即可。
loose coupling
這一點在上學期的面向對象課中吳際老師就不斷跟我們強調,類與類之間應該盡量減少耦合程度,各司其職。一個好的松耦合方法就是類與類之間的接口設計。由于這次項目的 規模不大,類較少,所以沒有使用到類的接口設計。但是在編碼過程中盡量使類之間的耦合程度降到最低。
看 Design by Contract, Code Contract 的內容:
優點:能夠減少項目的BUG,在后期測試的時候能夠降低效率
缺點:對用戶要求較高,雖然可以單獨提供判錯模塊對用戶的輸入及輸入狀態進行判斷,但是時間成本不一定比原本低。
看教科書中,網上有關 unit test 的內容,通過截屏顯示你是如何用VS 的unit test 來保證你寫的類的質量的:
畫出UML 圖顯示各個實體之間的關系 (畫一個圖即可)
說明你的算法的關鍵 (不必列出源代碼), 以及獨到之處。
算法由三個部分組成:生成器,比較器和計算器。
生成器用來生成指定條件的算法,比較器用來比較數據結果并輸出到指定文件上,計算器用來計算表達式的值。最后由Core類通過一個API借口來和其他模塊交流
文章列表