Long类型不要用== 作比较

当long类型的数值超过128时,可能会涉及新对象的创建,导致使用==进行比较时比较的是内存地址而非值。因此,推荐在比较long类型时使用equals方法确保比较数值的相等性。

long类型在数值超过128后就会去重新new对象,众所周知 == 比较的是内存地址 自然就没法比较了,所以不论大小 long类型一律用equals比较

进行编码规范: 1、标准变量类型 禁止使用C语言的标准变量类型。 请使用共通头文件“aip_common.h”中定义了标准类型,如下: #ifndef AIP_COMMON_H #define AIP_COMMON_H typedef unsigned char U1; typedef unsigned short U2; typedef unsigned int U4; typedef long unsigned int U8; typedef signed char S1; typedef signed short S2; typedef signed long S4; typedef signed long long S8; typedef U1* U1P; typedef U2* U2P; typedef U4* U4P; typedef U8* U8P; typedef S1* S1P; typedef S2* S2P; typedef S4* S4P; typedef S8* S8P; typedef void* VDP; #define U1_MAX 0xFFU #define U1_MIN 0x00U #define S1_MAX 0x7F #define S1_MIN 0x80 #define U2_MAX 0xFFFFU #define U2_MIN 0x0000U #define S2_MAX 0x7FFF #define S2_MIN 0x8000 #define U4_MAX 0xFFFFFFFFUL #define U4_MIN 0x00000000UL #define S4_MAX 0x7FFFFFFFL #define S4_MIN 0x80000000L #define U8_MAX 0xFFFFFFFFFFFFFFFFULL #define U8_MIN 0x0000000000000000ULL #define S8_MAX 0x7FFFFFFFFFFFFFFFLL #define S8_MIN 0x8000000000000000LL #define TRUE 1 #define FALSE 0 #define ST struct #define EN enum #endif /* AIP_COMMON_H */ 2、变量: Format type [dt]_[s][a]_[module]_[variable]; Length of Identifier 最多32个字符 [dt]变量类型 标准类型 u1, u2, u4, u8, s1, s2, s4, s8 结构体类型 st 枚举类型 en 共用体类型 MISRA-C中禁止使用 函数指针类型 fp 变量指针类型 u1p, u2p, u4p, s1p, s2p, s4p, s8p, stp 空指针类型 vdp [s]用域 ※ 函数域内的自动变量 t 函数阈内的参数变量 a 文件阈内的static变量 s 文件域内外的extern变量 g [a]数组 ※ 维数=0 无修饰字符 维数=1 p 维数=n p[n] [module]模块名[variable]变量名 有const修饰 只能使用大写字母 无const修饰 只能使用小写字母 3、函数 Format type [dt]_[s]_[module][function]([parameter]….); Length of Identifier 最多32个字节 [dt]返回值类型 标准类型 u1, u2, u4, u8, s1, s2, s4, s8 结构体类型 st 枚举类型 en 共用体类型 MISRA-C中禁止使用 变量指针类型 u1p, u2p, u4p, s1p, s2p, s4p, s8p, stp 空指针类型 vdp [s]用域 static函数仅在文件内 s extern函数在文件内外 g [module]模块名 [function]函数名 大小写字母均可使用 [parameter]形参名 3.3. 命名规则:遵从定义变量的命名格式 ※:函数原型声明时,必须定义形参。 ※函数内不会修改的参数,必须加上“const”修饰符。 4、注释必须是英文,不要使用“//”注释,不要跨行使用注释。在每一行,分别使用“/*”和“*/”来注释“/*”后面和“*/”的前面,插入空格 每个函数前面都要加注释,形如: /*===================================================================================================================================*/ /* Function Name: v_g_SYMBOL_saveFile */ /* --------------------------------------------------------------------------------------------------------------------------------- */ /* Description: Saves user-defined symbol pairs to Symbol.txt file after validation */ /* Arguments: const U2 *u2p_g_FILE_folder_path_p : Folder path */ /* const U2 *u2p_a_SYMBOL_user_input : User input symbols */ /* Return: void */ /*===================================================================================================================================*/ 5、{每个左大括号都要另起一行 6、所有判断语句,if while等只能是判断语句,不能嵌套函数 7、每个函数最多一个出口 8、返回值是一个变量,或者直接写一个值,不要写公式 9、结构体: Format typedef struct{ [member] … }ST_[module]_[variable]; Length of Identifier 最多32个字符 [module]模块名 [variable]变量名 只能使用大写字母 [member] 成员名称需要按照3.3. 变量的规定。 禁止使用位域类型定义。 不过,Micro Controller Vendor提供的Micro-Controller的控制寄存器定义除外。 10、不要用常数,用魔法数字,如果是全是常数的公式,可以在宏里面定义
最新发布
09-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunyanchun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值