养成好的编程习惯之对称性

来源:互联网 发布:宇宙大小的相关数据 编辑:程序博客网 时间:2024/03/29 04:05
int function(uint8 *pucBuf, int lLen)
{
    int a = 0;
    int iIndex = 0;
   
    while(lLen)
    {
        a = 0;

        ...
        ...
       
        if (pucBuf[iIndex] == 0xCC)
        {
            a = 0;
            ...
        }
        else
        {
           
a = 4;
            ...
        }

        ...

        if (a)
        {
            ...
        }
       
        ...
        lLen -= a + 4;
    }
 
    return 0;
}
 
"a = 0"语句可以放在红色区域蓝色区域,代码意义不变。但出于对好的编程风格的追求,最好放在红色区域(蓝色区域此语句删除),以强调对称性。若红色区域和蓝色区域都有语句,又有点冗余。
因为这是个while循环,之后用到a时,我们会怀疑a之前的状态是否清除,这样,我们(用到a处)从下往上找,找到了绿色区域,正好有红色区域与之对应(同为if、else分支),我们就知道a因为条件被赋值,或清零。
原创粉丝点击