使用好的留白,对齐及顺序可以上代码更加养眼。有以下三个原则可以参考:
- 使用一致的布局,让读者很快就习惯这种风格。
- 让相似的代码看上去相似。
- 把相关的代码分组,形成代码块。
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 */
} WNCAN_DEVICE;
比如这个结构体就将变量声明与函数声明分开。
4、使用一个好顺序及排列
上面安字母顺序排列,也可以按重要性排列,但是只要选定一个顺序就始终使用,做到风格一致。
5、使用列对齐