天天看點

作業三: 代碼規範、代碼複審、PSP

一、代碼規範

對于是否需要有代碼規範,請考慮下列論點并反駁/支援:

1.這些規範都是官僚制度下産生的浪費大家的程式設計時間、影響人們開發效率, 浪費時間的東西。

2.我是個藝術家,手藝人,我有自己的規範和原則。

3.規範不能強求一律,應該允許很多例外。

4.我擅長制定編碼規範,你們聽我的就好了。

有關代碼規範的事情,我從我個人觀點出發是需要有代碼規範。上面4則觀點我都不太認同,

因為程式語句是在電腦中使用的,需要編譯為機器語言。雖然人是活的,但是機器是死的。是以在死規矩面前變化多端肯定是不行的。

還有一點需要注意的是,我們規範自己的代碼,養成這樣的習慣對于以後的學習和生活是非常有幫助的。它可以促進團隊合作,減少bug處理,降低維護成本以及有助于代碼審查。

二、代碼複審

1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include <time.h>
 4 #define N 30
 5 main()
 6 {
 7     int a,b,k,i,n;
 8     float c,d;
 9     srand(time(NULL));
10     do{
11      printf("\n請輸入數字類型(1.整數 2.小數) -1為退出程式: ");
12      scanf("%d",&n);
13 
14      switch(n)
15      {
16        case 1:
17          {
18          for(i=0;i<N;i++)
19          {
20            a=rand()%100+1;
21            b=rand()%100+1;
22            k=rand()%4+1;
23            printf("%d",a);
24            switch(k)
25           {
26            case 1:printf("+");break;
27            case 2:printf("-");break;
28            case 3:printf("*");break;
29            case 4:printf("/");break;
30           }
31            printf("%d=\t\t",b);
32          }
33           break;
34          }
35        break;
36        case 2:
37          {
38           for(i=0;i<N;i++)
39           {
40            c=rand()*0.001+1;
41            d=rand()*0.001+1;
42            k=rand()%4+1;
43            printf("%0.2f",c);
44            switch(k)
45            {
46              case 1:printf("+");break;
47              case 2:printf("-");break;
48              case 3:printf("*");break;
49              case 4:printf("/");break;
50            }
51            printf("%0.2f=\t",d);
52            }
53            break;
54            }
55            break;
56           }
57         }
58         while(n!=-1);
59 }      

本次代碼複審我選擇的是程偉同學的代碼。

四則運算這個算法老師并沒有規定用什麼編譯環境,是以我運用了簡單的C語言 C-free5.0環境,我這個同學也是用的這個環境。

他這個代碼總體看來 簡單可讀 但是仔細讀起來貌似沒有展現了回答部分的 功能,隻有出現了随機數,随機四則運算。

然後這個代碼規範起來還算好一點,可能是簡單,沒有寫那麼多功能。

本人才疏學淺,也隻能看出這種門道。還需好好學習,向别人取取經。

三、PSP

PSP2.1 PSP Stage Time(%)SDE
Planning 計劃 6%
Estimate 估計這個任務需要多少時間 6
Development 開發 88%
Analysis 需求分析 12
Design Spec 生成設計文檔 4
Design Review 設計複審(和同僚稽核設計文檔) 8
Coding Standard 代碼規範(為目前的開發制定合适的規範) 1
Design 具體設計 10
Coding 具體編碼 23
Code Review 代碼複審 9
Test 測試(自測,修改代碼,送出修改) 21
Reporting 報告
Test Report 測試報告 2
Size Measurement 計算工作量
Postmortem & Process Improvement Plan 事後總結,并提出過程改進計劃 3