首页
/
每日頭條
/
生活
/
c語言字符編碼怎麼用
c語言字符編碼怎麼用
更新时间:2024-10-01 12:04:34

寫代碼就像寫文章,需要準确地使用标點符号,合理地劃分段落。

編寫代碼時,遵守統一的編碼規範,讓排版美觀,可增強代碼易讀,降低出錯的可能性。

标識符命名規範

綜合各類語言,目前常見的命名方法包括:

駝峰命名(Camel case):标識符由多個單詞組成,第一個單詞全小寫,後面的所有單詞首字母大寫

PASCAL命名(Pascal case):标識符由多個單詞組成,所有單詞的首字母大寫

小蛇命名(Snake case):标識符由多個單詞組成,所有單詞均小寫,以下劃線拆分單詞

大蛇命名(Snake case):标識符由多個單詞組成,所有單詞均大寫,以下劃線拆分單詞

烤串命名(kebab case):标識符由多個單詞組成,所有單詞小寫,以中劃線拆分單詞(常用于url中)

匈牙利命名:标識符中包含作用域和類型信息。

例如:

#define USER_NAME_MAX_LENGTH 20 /* 大蛇命名 */ char userName[USER_NAME_MAX_LENGTH]; /* userName遵守駝峰命名 */ char UserName[USER_NAME_MAX_LENGTH]; /* UserName遵守PASCAL命名 */ char user_name[USER_NAME_MAX_LENGTH]; /* user_name遵守小蛇命名 */ char g_cUserName[USER_NAME_MAX_LENGTH]; /* 匈牙利命名,g代表全局變量,c代表char類型 */

C語言,标識符命名采用小蛇命名和大蛇命名,變量名、函數名等按照小蛇命名;枚舉常量、宏定義等按照大蛇命名。

縮進規範
  • 縮進使用4個空格(不建議用制表符Tab),建議在編輯器中,設置顯示空格和制表符

VSCode的設置:

c語言字符編碼怎麼用(C語言編碼規範)1

vscode顯示空格設置

SourceInSight的設置:

c語言字符編碼怎麼用(C語言編碼規範)2

SourceInSight顯示空格設置

Notepad 的設置

c語言字符編碼怎麼用(C語言編碼規範)3

Notepad 顯示空格設置

Visual Studio 2015的設置

c語言字符編碼怎麼用(C語言編碼規範)4

VisualStudio2015顯示空格設置

空格規範
  • 雙目運算符、三目運算符,運算符兩端各加一個空格

/* 雙目運算符 */ = - < > * / % | & ^ <= >= == != /* 三目運算符 */ ? :

例如:

c = a b; /* good */ c=a b; /* bad */

  • 單目運算符,與操作數之間不要加空格

/* 單目運算符 */ & * - ~ ! sizeof -- /* 結構體成員運算符 */ .和->

例如:

i ; /* good */ i ; /* bad */

  • if, switch, case, for do, while等關鍵字後面需要加空格

if (condition) {}

  • sizeof, typeof, alignof, attribute等關鍵字後面不要加空格
  • 小括号内的表達式前後不要加空格

s = sizeof(struct file);

  • 定義指針變量時,星号貼近名字,而不應該貼近類型

char *str;

大括号規範
  • 左大括号放在行尾,右大括号放在行首
  • 函數是一個特例,左大括号獨占一行

switch (action) { /* 左大括号放在行尾 */ case KOBJ_ADD: return "add"; case KOBJ_REMOVE: return "remove"; case KOBJ_CHANGE: return "change"; default: return NULL; } /* 右大括号放在行首 */ int function(int x) { /* 函數是一個特例,左大括号獨占一行 */ body of function }

  • 為方便代碼維護,即使條件語句中隻有一條語句,也建議使用大括号

if (condition) { do_this(); do_that(); } else { otherwise(); /* 隻有1條語句,建議使用大括号 */ }

斷行規範

為方便代碼編寫和閱讀,每行代碼長度不要超過80列,代碼中的字符串除外(為了方便字符串的閱讀和查找,同一個字符串,長度超過80列時不建議分成多行)。

注釋規範

為代碼寫注釋是個好習慣,但不要過度。注釋中不要試圖解析您的代碼如何(HOW)工作,最好的方式是代碼本身就清晰地說明了它是如何工作的。

通常情況下,注釋用來說明你的代碼在做什麼(WHAT),以及為什麼這麼做(WHY),記錄避免描述怎麼做(HOW)。

  • 給文件加上文件頭注釋

/****************************************************************************** * Copyright 2022 * * @file eraser_lib.cpp * * @brief * *============================================================================= * Revision History * Version Date Author Content * ------- ---------- --------- --------------------------------------- * V1.00 2022/03/12 yangyf Create. * *****************************************************************************/

  • 給函數加上函數頭注釋

/****************************************************************************** * @fn uint16_t calc_crc16(uint8_t const *data, int32_t data_len) * * @brief 計算16位的crc校驗碼 * * @param p_data 待校驗數據的首地址 * @param data_len 數據長度 * * @return CRC value, 0x0000 ~ 0xFFFF */ uint16_t calc_crc16(uint8_t const *data, int32_t data_len) { // ...... }

~ END ~

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved