WordCount by C# 結對程式設計
合作者:201631062210,201631062110
Gitee專案地址:https://gitee.com/zhouyue98/learngit
本次作業的連結地址:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187
一·程式碼互審情況
1.C#程式設計避免使用大檔案,如果一個檔案裡的程式碼超過300-400行,必須考慮將程式碼分開到不同的類中,同伴寫的太長,所以將程式碼分成了一個WC類。
2.有些變數命名格式錯誤,將其改正成了c#規範格式。
二·靜態程式碼檢查情況
採用的靜態程式碼檢查工具是StyleCop,StyleCop是一個分析C# 原始碼的程式,它執行一套統一風格和一致性規則,可以執行在Visual Studio或整合到MSBuild專案。
StyleCop也被整合到許多第三方開發工具中,應用範圍適中。 報出一個錯誤,和一些提示。
錯誤的原因是在單元測試中把原先控制檯輸出的部分暫時改成了函式返回,後面改回來之後,單元測試無法得到方法的返回值。改進方法,自己重新定義一個值。
三·單元測試情況
本次功能的拓展,增加了SuperCount方法(統計高階資訊:空行數 程式碼行數 註釋行數),ReadStopList方法(讀取停用詞表),Traverse方法(遍歷所有符合條件的檔案),
我主要測試了SuperCount方法,使用VS2015生成的單元測試框架,為了方便測試,我對其中程式碼輸出的部分進行了修改,將原先控制檯輸出的部分暫時改成了函式返回。該模組的所有語句和分支都已覆蓋。
這是執行的單元測試,遇到問題
之前檔名因為缺少轉義字元“@”,而且應該給出完整路徑,所以出錯。修改之後
一些測試用例
寫入檔案
測試的.c檔案中的程式碼使用的是本wc程式的程式碼
四·效能測試和優化
本次效能測試用VS2015進行效能分析
測試結果
可以從圖中看出,Console.ReadLine()佔據了99.8%時間,這主要與使用者的輸入時間有關,所以本軟體的效能可以算優秀,暫時不用優化。
五·收穫和感悟
此次結隊程式設計初體驗理解到了結隊程式設計很多好的方面,比如和兩位程式設計師各自獨立工作相比,結對程式設計能編寫出質量更高的程式碼;可以更高效率的完成任務;
結隊程式設計還可以互相學習,以及發現很多自己身上的弊端。是一次不錯的體驗。
六·參考文獻連結
此次作業中,靜態程式碼檢查參考doris_d的這篇部落格:https://blog.csdn.net/doris_d/article/details/51323049,效能測試參考taxuezcy的這篇部落格https://blog.csdn.net/taxuezcy/article/details/79315401;有關部落格的使用和排版,參考範飛龍老師的這篇部落格:http://www.cnblogs.com/math/p/se-tools-001.html;有關Git的使用,參考廖雪峰的官方網站https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/,在此表示感謝。此外,單元測試與效能測試與同伴一樣。