編程規範——養成良好的個人編程習慣

命名

  • 函數 MyExcitingFunction() 每個單詞首字母大寫
  • 類、結構體、枚舉 class CUrlTable 每個單詞首字母大寫
  • 變量
    • int iMaxCount = 1; //n表示
    • intfloat fDegree = 1.0f; //f表示浮點,小數點後需要加f
    • double dDegree = 1.0; //d表示double
    • bool bFlag = true; //b表示bool
    • const char *pFileName = argv[0]; //p表示指針類型
    • bool g_bEnableMipmapFeature; //全局變量使用g_,名稱儘量長
    • int m_nGreen; //類成員變量使用m_
    • static int s_nCount; //靜態變量使用s_
    • byte *m_pImageData; //類成員指針m_p
    • enum FilterType{ kFilterTypeBase, ;//枚舉kEnumName or E_EnumName};
    • typedef struct ExportDataBlob
      {
      /// Size of the data in bytes
      size_t size; //結構體成員變量不需要加m_
      /// The data. //結構體成員首字母不需要大寫
      void* data; }ExportDataBlob; 類型小寫+作用大寫

註釋

.h文件的註釋和.h文件下函數的註釋(cpp文件和函數不註釋)

   ///-------------------------------------------------------------------------------------------------
    /// @brief AR渲染基類(文件名稱:描述)
    /// @author caicaptain (作者)
    /// @date 2017/7/2 (時間)
    /// @note          (注意)
    /// @version 1.0.0 (版本)
    ///-------------------------------------------------------------------------------------------------
    ///-------------------------------------------------------------------------------------------------
    /// @brief	Transform landmark by exif.
    ///
    /// @author	caicaprain
    /// @date	2017/7/2
    ///
    /// @param [in]	nExifOpt		The exif option.
    /// @param [out]	nLength			The length.
    ///
    /// @return	True if it succeeds, false if it fails.
    ///-------------------------------------------------------------------------------------------------
	bool Test(int nExifOpt, std::string &nLength);

命名空間

///-------------------------------------------------------------------------------------------------
/// @brief 命名空間的簡單概述 \n(換行)
/// 命名空間的詳細概述
///-------------------------------------------------------------------------------------------------
namespace OST
 {
 }

類、結構、枚舉標註

///-------------------------------------------------------------------------------------------------
/// @brief 類的簡單概述 \n(換行)
/// 類的詳細概述
///-------------------------------------------------------------------------------------------------
class Example
 {
 };
 
枚舉類型定義、結構體類型定義註釋風格類似
 ///-------------------------------------------------------------------------------------------------
/// @brief 簡要說明文字 
///-------------------------------------------------------------------------------------------------

typedef struct 結構體名字
 {
      成員1, //!簡要說明文字
      成員2, //!簡要說明文字
      成員3, //!簡要說明文字
 }結構體別名;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章