第一次個人程式設計作業

2022-05-11 08:19:30 字數 3186 閱讀 7769

倉庫位址

psp2.1

personal software

process stages

預估耗時(min)

實際耗時(min)

planning

計畫

54

54

estimate

估計這個任務需要多少時間

5454

development

開發

792

880

analysis

需求分析

(包括學習新技術)

9090

design spec

生成設計文件

5440

design review

設計複審

5420

coding standard

**規範

(為開發制定合適的規範)

2710

design

具體設計

108100

coding

具體編碼

189360

code review

**複審

6060

test

測試(自我測試,修改,提交修改)

189200

reporting

報告

54

54

test report

測試報告

1818

size measurement

計算工作量99

postmortem & process

improvement plan

事後總結

並提出過程改進計畫

2727

合計900

988**step 1. **利用正規表示式提取姓名和手機號碼, 並將其從原字串中去除

**step 3. ** (level 2) 利用正規表示式分割剩餘的詳細位址

**step 4. ** (level 3) 呼叫高德api

**step 5. ** 使用moshi庫將結果物件轉換成json輸出

資料類類名

說明屬性

data

資料provinces

result

結果name, phone, address

province

省級name, cities

city

地級name, areas

area

縣級name, streets

street

街道name

工具類類名

作用fileutil

讀取和寫入檔案

jsonutil

轉換物件和json字串

trimmer

處理輸入樣例

主要函式

函式名說明

void data.build()

用json資料生成所需物件

void trimname()

切去姓名

void trimphone()

切去手機號

void trimprovince()

切去省級

void trimcity(list)

切去地級

void trimarea(list)

切去縣級

void trimstreet(list)

切去街道

void trimdetail()

切分詳細位址

設計

@test

public void case15() ;

resulttest(testcase, name, phone, address);

}

用resulttest函式驗證正確性:

private void resulttest(string testcase, string expectedname, string expectedphone, string expectedaddress)
如果結果與預期有誤,則呼叫assertequals輸出錯誤資訊,方便除錯:

測試結果

一共設計了15個不同情況的case,經過瘋狂除錯,終於全部通過。

完整單元測試**

測試覆蓋率

分割位址用的主要是trimmer類,除了getter和setter都覆蓋到了。其餘沒覆蓋到的也主要是getter和setter。

異常主要發生在trimmer類的方法裡,主要是由於輸入錯誤導致的,這樣的異常不好正確處理,這裡簡單地將trim方法包裹在try**塊裡,執行時判斷輸入是否符合要求,如果不符合,中斷執行,並直接返回乙個空的結果,避免了程式直接退出。

@test

public void exceptioncase1() );

}

根據提示消除了了所有issue.

程式中最佔記憶體的是解析json資料構造出來的string物件,最耗時的操作是解析json資料。為了提高效率,可以考慮把json解析器換成fastjson。

這一次還是收穫滿滿的,學會了很多東西:

其中最有用的要數單元測試了,可以很方便的測試出bug來,並修改完**之後可以反覆執行,效率很高,相比以前手動測試,節省了不少時間。**分析工具可以檢測出**中不合理的地方,並給出修改提示,按照提示修改**,可以提高**的可讀性和健壯性。

第一次個人程式設計作業

psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫120 estimate 估計這個任務需要多少時間 120development 開發360 analysis 需求分析 包括學習新技術 60 design spec...

第一次個人程式設計作業

github倉庫位址 psp2.1 personal softwareprocess stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫50 60estimate 估計這個任務需要多少時間 3020 development 開發960 1080 analysis 需求分析 包括學習...

第一次個人程式設計作業

倉庫 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 estimate 估計這個任務需要多少時間100 development 開發 8802000 analysis 需求分析 包括學習新技術 240420 de...