軟件做業——結對編程

軟件結對編程

1.項目地址

項目地址 項目地址
夥伴 201831061203
博客地址 夥伴博客

2.代碼規範說明

代碼規範 具體說明
函數名以及變量名 以名字的英文形式呈現,讀代碼便於理解函數功能,名字注意大小寫,通常變量用小寫,函數名用大寫
代碼註釋 ①對代碼加以註釋,便於改動、查找、閱讀 ②註釋位置最好在被說明內容的前一行或後一行,而不是直接加在其後
代碼佈局 ①每一行只寫一句代碼 ②每一行只對一個東西進行聲明③ 在不一樣的定義以後加一行空白用以分開④註釋位置最好在被說明內容的前一行或後一行,而不是直接加在其後⑤縮進控制在4個字符⑦在複雜的條件表達式中,用括號清楚地表示邏輯優先級

3.PSP表格

  PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 20 30
· Estimate · 估計這個任務須要多少時間 20 25
Development 開發 150 100
· Analysis · 需求分析 (包括學習新技術) 60 100
· Design Spec · 生成設計文檔 10 10
· Design Review · 設計複審 (和同事審覈設計文檔) 20 10
· Coding Standard · 代碼規範 (爲目前的開發制定合適的規範) 10 10
· Design · 具體設計 120 60
· Coding · 具體編碼 720 400
· Code Review · 代碼複審 30 15
· Test · 測試(自我測試,修改代碼,提交修改) 120 60
Reporting 報告 30 25
· Test Report · 測試報告 30 25
 · Size Measurement · 計算工做量   60  30
· Postmortem & Process Improvement Plan · 過後總結, 並提出過程改進計  30  60
  合計  1430      960     

4.複審代碼

根據咱們的代碼規範,我發現個人小夥伴的註釋並不到位,有一些變量名的名字也不規範,就對此作了一些修改c++

5.解題思路

只學過C++,C的我,在涉及到命令行的解釋是一大盲區,以前看到過某同窗寫的有關C語言main函數兩個參數argc、argv的文章,因而就參考着用C語言寫了。
本打算先實現統計行數、單詞數、字符數各個模塊的功能,封裝在每個函數裏面,但命令行那裏行不通,就利用數據結構學過的知識,用結構體來封裝結點提供能夠在命令行輸入的選項以及單詞數那些。 c++裏面獲取一長串的字符能夠有string,以及getline(),那麼c又怎麼實現呢, argc是指從命令行輸入的參數個數,包括固定的本文件的路徑argv[0],char* argv[]是一個指針數組,index是從0開始的,0存的是本文件的絕對路徑,1存的是控制檯輸入的第一個參數,以此類推,所以控制檯輸入的命令就存在argv裏面。git

//功能:結構體--記錄字符數和單詞數
struct Couter
{
    int CharacterNum;//記錄字符數
    int WordNum;//記錄單詞數
    int LineNum;//記錄行數
};

//功能:結構體--記錄單詞
struct Word
{
    string ws;//存放單詞
    int lengthW;//存放單詞的長度
    int num;//單詞出現的頻率
};

//功能:計算文件中的字符數和行數
class Calcu
{public:
    int WordNum(const char s[]);
    int LineNum(const char s[]);
private:;
    Couter couter = { 0,0,0 };
};

咱們是以這個文件的內容來測試的
github

獲得結果顯示
算法

6.需求分析

用戶的需求是變化的,咱們在文件的信息輸入時應該給用戶一些提示,涉及到文件中的字符、單詞統計,就須要獲取到文件裏的內容,因而想到用數組來存放文件內容,採用const 定義數組長度,便於改變
需求分析圖編程

7.算法關鍵

關鍵就是計算文件中的字符個數以及文件行數,單詞個數數組

8.性能分析圖&單元測試

9.心得體會&討論圖片

剛拿到題目的時候是沒有啥頭緒的,由於本身的能力僅限於C和C++,就去網上看了一下其餘大佬的代碼以及思路,編碼能力要增強以及真的要多花點時間去學習一些課外的與專業有關的東西。學習同樣東西不是那麼容易,可是身邊的競爭很強,你們都有在學習,你學會了就也能夠成爲你羨慕的人。
數據結構

關於GitHub
函數

相關文章
相關標籤/搜索