天天看點

軟體項目管理(2)

目錄

  • 1. 代碼規範
  • 2. CheckList
  • 3. 過程控制
    • 3.1 燃盡圖
    • 3.2 甘特圖
    • 3.3 魚刺圖
  • 4. 項目進度

不同的程式設計語言以及不同的人使用都會有自己的一套風格,沒有嚴格意義上的好壞之分,每一種風格的編碼方式都有自己的群體,每個人的堅持成為一種程式設計的樂趣和調侃。就想每種語言都有人在使用,在各自的領域裡也都有自己的一技之長,甚至多計之長。

這些在每個項目裡都不成問題,但是一旦同一個項目出現了幾種不同的風格,那這種不一緻性将可能對項目代碼的閱讀和維護和貢獻造成巨大的難以估量的損失。是以,我們有必要在項目開始時就對編碼規範達成一緻。

編輯代碼時,花點時間看看項目中的其他代碼并确定其風格,如果其他代碼 if 語句中使用

空格,那麼你也要使用。如果其中的注釋用星号()圍成一個盒子狀,你也這樣做:

/*********************************

Some comments are here.

There may be many lines.

**********************************/

程式設計風格指南的使用要點在于提供一個公共的編碼規範,所有人可以把精力集中在實作内容

而不是表現形式上。我們給出了全局的風格規範,但局部的風格也很重要,如果你在一個文

件中新加的代碼和原有代碼風格相去甚遠的話,這就破壞了檔案本身的整體美觀也影響閱

讀,是以要盡量避免。

本文讨論的規範主要來自Google C++ 程式設計規範,僅是個人使用中努力堅持的一種規範,不代表其他人的觀點。

類型 清單
頭檔案

#

define的保護、頭檔案的依賴、内聯函數、-inl.h 檔案、函數參數順序、包含檔案的名稱及次序
作用域 命名空間、嵌套類、非成員函數、靜态成員函數、全局成員函數、局部變量、全局變量
構造函數、預設構造函數、明确的構造函數、拷貝構造函數、結構體和類、繼承、多重繼承、接口、操作符重載、存取控制、聲明次序、編寫短小函數
Google特有的風情 智能指針
其他C++特性 引用參數、函數重載、預設參數、變長數組和alloca、友元、異常、運作時類型異常、類型轉換、流、前置自增和自減、const的使用、整數、64位下的可移植性、預處理宏、0和NULL、sizeof、Boost
命名空間 通用命名規則、檔案命名、類型命名、變量命名、常量命名、函數命名、命名空間、枚舉命名、宏命名、命名規則例外
注釋 注釋風格、檔案注釋、類注釋、函數注釋、變量注釋、實作注釋、标點、拼寫、文法、TODO注釋
格式 行長度、非ASCII字元、空格還是制表位、函數聲明與定義、函數調用、條件語句、循環和開關選擇語句、指針和引用表達式、布爾表達式、函數傳回值、變量及數組初始化、預處理指令、類格式、初始化清單、命名空間格式化、水準留白、垂直留白
規則之例外 現有不統一代碼、Windows代碼

燃盡圖(burn down chart)是在項目完成之前,對需要完成的工作的一種可視化表示。燃盡圖有一個Y軸(工作)和X軸(時間)。理想情況下,該圖表是一個向下的曲線,随着剩餘工作的完成,“燒盡”至零。燃盡圖向項目組成員和企業主提供工作進展的一個公共視圖。這個詞常常用于靈活程式設計。

甘特圖(Gantt chart)又稱為橫道圖、條狀圖(Bar chart)。以提出者亨利·L·甘特先生的名字命名。

甘特圖内在思想簡單,即以圖示的方式通過活動清單和時間刻度形象地表示出任何特定項目的活動順序與持續時間。基本是一條線條圖,橫軸表示時間,縱軸表示活動(項目),線條表示在整個期間上計劃和實際的活動完成情況。它直覺地表明任務計劃在什麼時候進行,及實際進展與計劃要求的對比。管理者由此可便利地弄清一項任務(項目)還剩下哪些工作要做,并可評估工作進度。

3.3 魚骨圖

魚骨圖,又名因果圖,是一種發現問題“根本原因”的分析方法,現代工商管理教育将其劃分為問題型、原因型及對策型魚骨圖等幾類。