1. 程式人生 > >結對編程_partner代碼分析

結對編程_partner代碼分析

屬性 賬號 其他 ner 源代碼 提示信息 中學 大量 模式

優點:
1.關鍵代碼處都有註釋,清晰簡潔
2.基本上達到了樣例用戶登錄的需求、文件按格式輸出的需求、出題隨機性需求。
3.文件控制部分、文件名時間輸出部分,耦合度低,可以在其他需要的地方使用。
4.提供了需求之外的部分很實用的功能。
缺點:
1.全局使用了名稱空間std,不便於名稱空間管理。
2.部分變量的命名,不夠直觀。
3.運算所用的符號未分類,不便於維護和修改。
4.部分代碼塊縮進不規範。
5.用戶數據庫用map存儲,則用戶在數據庫中只有賬號(map的下標)和密碼(對應的map值)兩個抽象屬性。對於賬號的其他信息並沒有專門的數據類型進行存儲。程序中需要用到的,用戶小學、中學、高中的屬性,是在main函數中,對有限的用戶樣例,進行字符串比對,當前用戶是哪一類型的用戶。如果涉及的用戶基數十分龐大時,這樣的方法是完全不可行的,也不能對用戶的數據庫進行有效管理。如添加用戶,修改用戶信息等,應當做出適當修改。
6.在主函數中直接輸出了大量提示信息,建議可以減小粒度降低耦合度,將部分信息剝離成函數,進行調用,這樣在修改信息或需要在其他地方輸出相同提示時會方便很多。
7.三種出題模式均寫在main函數中,不便於維護,尤其是日後如果需要增加模式,則不便之處會更加明顯,建議減小粒度降低耦合度,將單獨的模式寫成函數,在main函數中調用這些模式。
8.三種出題模式其實有相似之處,該源代碼中的寫法更像是寫了三個不同的方法,這樣不便於功能的修改和擴展,可以想辦法將這三種方法以同一種模式寫,提高類聚程度,便於功能擴展。
9.整體來看,程序的擴展性並不好,沒有用到OPP的編程思想。

結對編程_partner代碼分析