1、基本任務:java
github項目地址:https://github.com/YYCZ/WCProgit
接口的實現:我在小組任務裏面負責文件輸入模塊的任務,github
代碼結構如上,設計一個文件輸入類,一個String類型的數組,用於接收參數進行解析;構造方法傳入的是一個String類型的數組地址;在參數的解析過程裏,須要判斷參數的有效性,好比參數爲空,是否是多個文件,咱們只處理一個文件傳入的狀況,只處理txt的狀況。編程
介紹下黑盒測試與白盒測試:設計模式
黑盒測試:不考慮程序內部結構和內部特性,從用戶觀點出發,針對程序接口和用戶界面進行測試,根據產品應該實現的實際功能和已經定義好的產品規格,來驗證產品所應該具備的功能是否實現,是否知足用戶的要求 。數組
白盒測試,已知產品的內部工做過程,針對性很強,能夠對程序每一行語句、每個條件或分支進行測試,測試效率比較高,並且能夠清楚已測試的覆蓋程度。架構
白盒測試對代碼具體執行進行分析,針對三個if條件進行分析:框架
測試用例採用myeclipse自帶的JUnit框架;eclipse
關鍵測試函數:assertEquals(「預期結果」,「調用被測的函數」);函數
舉個例子截圖:(參數個數的有效性檢驗測試)
測試用例清單:
測試質量針對具體的功能已經實現,測試結果ok,被測模塊ok.
小組貢獻分:0.25
2、擴展任務:
(1)技術開發文檔的採用:採用了《阿里巴巴java開發手冊》中的《編程規約》的《命名風格》。
(2)使用該規範分析了17176的代碼,代碼遵循瞭如下好的規範,舉幾個例子:
《阿里巴巴Java開發手冊》中指出:若是模塊、接口、類、方法使用了設計模式,在命名時體現出具體模式。 說明:將設計模式體如今名字中,有利於閱讀者快速理解架構設計理念。
根據個人實踐體會舉例以下:在代碼「public class Input的類定義時,類名稱的命名就體現了工廠模式的使用。
《阿里巴巴Java開發手冊》中指出: 代碼中的命名嚴禁使用拼音與英文混合的方式,更不容許直接使用中文的方式。
說明: 正確的英文拼寫和語法可讓閱讀者易於理解,避免歧義。注意,即便純拼音命名方式
也要避免採用
個人代碼規範示例:inValid(判斷爲無效)
類名使用 UpperCamelCase 風格
個人代碼規範示例:public class Input
方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須聽從
駝峯形式。
個人代碼規範示例:public boolean inValid()
(3)說明選擇的是checkstyle靜態代碼檢查工具,下載地址:http://checkstyle.sourceforge.net/。
界面截圖:沒什麼問題,就是一些縮進警告。
(5)整個小組的代碼主要存在的問題就是字符縮進不統一,代碼改進的方法:制定統一的代碼編寫規範。
3、高級任務:性能測試和優化
1.數據集設計思路:由於程序的邏輯設計比較清晰,因此咱們的性能上面直接從測試數據集的量上面入手,因此思路就是用足夠大的文件。這裏咱們直接採用英文的txt書籍進行數據集的設計。
2.優化前程序性能指標與優化後的性能指標:
以小說<<飄>>(txt)做爲測試數據集,結果以下:
3.參加人員:張海濤(主持),陳鵬旭(評審),餘浩宇(評審),餘笑童(評審)
對組員17178的代碼規範進行評審:
(1)
《阿里巴巴Java開發手冊》中指出:若是模塊、接口、類、方法使用了設計模式,在命名時體現出具體模式。
在代碼「public class Core的類定義時,類名稱的命名就體現了工廠模式的使用。
《阿里巴巴Java開發手冊》中指出: 代碼中的命名嚴禁使用拼音與英文混合的方式,更不容許直接使用中文的方式。
說明: 正確的英文拼寫和語法可讓閱讀者易於理解,避免歧義。注意,即便純拼音命名方式
也要避免採用
其方法:private void updateWords則很好地體現了這一點。
類名使用 UpperCamelCase 風格
方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,聽從
駝峯形式。
private void updateWordsWithHash
我以爲代碼的規範作得很好,沒什麼意見。
4.影響性能的主要指標是詞頻統計與排序,
優化前(沒用哈希):詞頻統計:n^2 排序:n*lgn
優化後:詞頻統計:n 排序:nlgn
5.優化的思路是採用哈希的手段,具體優化後的指標對好比圖:
6.沒有軟件開發就沒有測試,軟件開發提供軟件測試的對象。
軟件開發和軟件測試都是軟件生命週期中的重要組成部分
軟件開發和軟件測試都是軟件過程當中的重要活動。
軟件測試是保證軟件開發產物質量的重要手段