天天看點

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

(1) 是否需要有代碼規範

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

答:首先編碼規範 包括了編碼風格和其它規範 一個團隊遵守一些規範有很多的好處!

(1). 遵守編碼風格使代碼更容易維護

(2). 編碼風格使形成代碼集體所有制(集體所有制的作用很大,它能有效的增大巴士因子——一個項目能承受多少個程式員被車撞了而不影響項目的正常進行)

(3). 編碼風格能消除那些長久的紛争(你不需要喜歡這種編碼風格。如果你不喜歡裡面的某條規定,那就罵幾句這個文檔,隻向文檔發脾氣,就像人類遷怒于上帝。然後還是按照約定做事。這樣做更具有建設性,比無休無止的吵論這些不重要的事情好的多)

簡而言之 編碼規範并不會浪費程式設計時間,相反會使整個軟體團隊的工作效率得到提升。

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

答:首先我認為形如藝術家 這類人,應該有自己的原則,這是屬于他們的獨有的性格,也就是這種性格的好壞,決定了他們日後的發展前景!一個好的藝人的好的規範 可以影響很多人 甚至形成一種流派,例如豪放派詩人 蘇轼,還有梵高的後現代畫風!

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

答:對于一個問題,通常我們能找出十幾種方法去解決。對于一種解決方案,我們能有百萬種編碼方案來實作它。每個人都有做自己的編碼風格,隻要不影響代碼的正确性就沒有必有太過糾結,

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

答:熟悉不同的編碼規範可以使你更容易的了解整個代碼,它有個非常重要的好處,能傳播知識。在很多的開發團隊裡,經常每一個人負責一個核心子產品,每個人都隻關注他自己的那個子產品。除非是同僚的子產品影響了自己的程式,他們從不互相交流。這種情況的後果是,每個子產品隻有一個人熟悉裡面的代碼。如果這個人休假或——但願不是——辭職了,其他人則束手無策。通過代碼審查,至少會有兩個人熟悉這些程式——作者,以及審查者。審查者并不能像程式的作者一樣對程式十分了解——但他會熟悉程式的設計和架構,這是極其重要的。

(2)代碼複審

同伴複審:我的同伴是高原同學,隻是我的第一次代碼複審,查閱了資料,同伴複審的主要目的就是檢查代碼是否簡便易行,有沒有邏輯 算法錯誤,優化與改進代碼!

,以下是高原的代碼:

#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
void demo(void)  //随機産生四則運算
{
 int a,b,k;   //随機數m,n,計數
 
 a=rand()%100;//生成随機數
 b=rand()%100;
 k=rand()%5;
 switch(k)    //四種運算随機選擇
 {
 case 1:cout<<a<<"+"<<b<<"="<<endl;break;
 case 2:cout<<a<<"—"<<b<<"="<<endl;break;
 case 3:cout<<a<<"×"<<b<<"="<<endl;break;
 case 4:cout<<a<<"÷"<<b<<"="<<endl;break;
 }
}
int main()    //主函數用于循環次數
{
 int i=1;    //循環次數
 srand((unsigned)time(NULL));//為rand()函數生成不同的随機種子
 cout<<"30道一百以内加減乘除四則運算題:"<<endl;
 while(i<=38)
 {
  demo();  //調用函數
  i++;
 }
 while(true);
}      

運作截圖:

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

代碼十分簡易,運作沒有錯誤。

(3)PSP記錄個人項目耗時情況

計劃 5 h
  估計這個任務需要多少時間
開發 7.5h
  需求分析
  生成設計文檔
  設計複審 1 h
  代碼規範
  具體設計 2h
  具體編碼 3h
  代碼複審 1h
  測試 0.5h
報告  1h
  測試報告
  計算工作量
  事後總結,并提出過程改進計劃