“变量放在双等号的右侧,常量放在左边”,你们遵循这样写的法则吗

“变量放在双等号的右边,常量放在左边”,你们遵循这样写的法则吗?
/*
编程规范反复强调变量放在双等号的右边,常量放在左边,就是为了规避出现
If (ulCnt = 0)这种语法正确,但是极有可能是笔误的情况。

为了杜绝这种不必要的逻辑问题,要求必须严格遵守编程规范。
*/


#define W_ZERO 0
#define W_NONZERO 1

long IsZero(unsigned long ulCnt)
{
if (0 == ulCnt)
/*
if (ulCnt == 0)
00B5139E  cmp         dword ptr [ulCnt],0 
00B513A2  jne         IsZero+2Ah (0B513AAh) 

if (ulCnt = 0)
0105139E  mov         dword ptr [ulCnt],0 
010513A5  cmp         dword ptr [ulCnt],0 
010513A9  je          IsZero+31h (10513B1h) 
*/
{
return W_ZERO;
}
else
{
return W_NONZERO;
}
}

------解决方案--------------------
这是一个良好的习惯,本人写了7年C/C++代码了,习惯这样处理
CustomerType *pCust = (CustomerType*)malloc(sizeof(CustomerType));
if(NULL == pCust)
{
  申请内存异常,处理之.......
}