- 主题:所在的公司编码规范极不习惯
嵌入式系统,主要用C开发
规范举例如下:
1)判断指针变量是否为空,不能直接用
if(ptr) 或者 if(!ptr)
要求用==判断指针变量跟NULL是否相等
2)判断整型变量是否等于0或者不等于0,(包括其余的变量等于常量的判断),不能直接用
if(i)或者 if(!i)
要求用==判断变量跟常量0是否相等
3)判断是否要相等,要求把常量放在前面,
所以1)中的判断是否指针变量为空,
要求用 if(NULL == ptr)
2)中的判断要求用:
if(0 == i)
或者 if(3 == j)
4)最夸张的是"布尔型"变量也要求用==与布尔常量值判断是否相等
if( TRUE == isValid)
--
修改:mykeyboard FROM 113.104.212.*
FROM 113.104.212.*
是抄来的规范,
抄规范的人现在是领导
【 在 format (大道至简) 的大作中提到: 】
: 纯粹是抄来的规范
: 这些都是小问题
: 稍微注意一下就没问题
: ...................
--
FROM 113.104.212.*
typedef enum
{
FALSE,
TRUE
}BOOL;
【 在 Tyo 的大作中提到: 】
: 说4有毛病的,提醒你们一下,注意大小写。如果楼主没写错,TRUE FALSE是win32下的宏,不是布尔,是整形1 0
--
修改:mykeyboard FROM 117.136.79.*
FROM 117.136.79.*
不是。
我们在别人的芯片和代码上二次开发。
鄙司代码风格跟原厂代码差异很大。
【 在 adoal 的大作中提到: 】
: 嵌入式开发、Win32的宏……这两个条件凑一起,
: 莫非是曾经挺流行的传说中的CE @.@
--
FROM 117.136.79.*
FALSE定义可以看到,
enum定义的
typedef enum
{
FALSE,
TRUE
}XX_BOOL;
XX为鄙司英文简写
【 在 shootings 的大作中提到: 】
: 这个没啥太大的问题啊
: 特别时4,这个你用的TRUE,FALSE,这个百分百是个自己define的
: 这个FALSE没说定义为啥啊,说不定在古代定位为-1。
--
修改:mykeyboard FROM 117.136.79.*
FROM 117.136.79.*