程式碼要有美感
使用好的留白,對齊及順序可以上程式碼更加養眼。有以下三個原則可以參考:
- 使用一致的佈局,讓讀者很快就習慣這種風格。
- 讓相似的程式碼看上去相似。
- 把相關的程式碼分組,形成程式碼塊。
1、使用一致性風格
編程式碼過程中要做過程式碼風格一致,而如果是在新增或者改程式碼過程中,則要保持與原有風格一致。比如說程式碼塊的風格:
void func(){
int fVal = 0;
}
void func2()
{
int f_val = 0;
}
以上程式碼塊 括號的縮排分格不一致,變數命名方法也不一致。
2、程式碼分成段落
寫文章時,分段落是將集中表達的一個意思放在一起,也可以讓讀者以段落做標籤,知道讀到那了。程式碼也要分段落,相同的功能放在一起。
/* reset EMAC1 and setup RGMII mode */ sysResetMgrEmacsReset(); sysEmacMiiModeSetup(); sysResetMgrEmacsDereset();
/* USB1 RAM ECC Enable */
tmp = ARMA9CTX_REGISTER_READ(ALT_SYSMGR_ECCGRP_USB1_ADDR);
tmp |= ALT_SYSMGR_ECCGRP_USB1_RAM_ECC_EN;
ARMA9CTX_REGISTER_WRITE(ALT_SYSMGR_ECCGRP_USB1_ADDR, tmp);
/* USB1 reset */
sysResetMgrUSB1Reset();
上面程式碼以功能為單位進行了段落劃分,使我們很容易找到相關功能。
3、把宣告按塊組織起來
typedef struct WNCAN_Device { STATUS (*DisableChannel )(struct WNCAN_Device *pDev, UCHAR chnNum); .
.
.
. STATUS (*WriteReg)(struct WNCAN_Device *pDev, UINT offset, UCHAR *data, UINT length); STATUS (*ReadReg)(struct WNCAN_Device *pDev, UINT offset, UCHAR *data, UINT length); const char *deviceName; UINT deviceId; struct WNCAN_Controller *pCtrl; struct WNCAN_Board *pBrd; void *userData; /* user data context pointer */
比如這個結構體就將變數宣告與函式宣告分開。
4、使用一個好順序及排列
上面安字母順序排列,也可以按重要性排列,但是隻要選定一個順序就始終使用,做到風格一致。
5、使用列對齊