对华为编码习气中变量的定义风格的疑问(码农们来讨论一下吧)
对华为编码习惯中变量的定义风格的疑问(码农们来讨论一下吧)
在华为的编码习惯中,说一个函数中使用到的变量,要一次性在函数开头定义好。
但是我觉得有些局部变量不一定要在函数开始的时候一次性定义。比如:
void Test()
{
..... //其他代码
if(false)
{
char szTmpBuf[512]; //
}
}
像szTmpBuf这样的。是否要在函数开始出一次性定义,只在if里定义,当条件不满足的时候,可以少512的内存并减少分配空间的CPU时间,且不是更好。
还有,如果我不一次性创建对象,如:
char szTmpBuf[512];
....//干点别的什么事情代码
int iSum = 0;
这样会不会比一次性定义在效率上低?求大牛!
另外,问一下,大家一般编码的时候,字符串数组,对象数组如何命名呢?
------解决方案--------------------
哎,无奈用的C,必须在开始定义好...
------解决方案--------------------
不管有没有进入if语句,这512个字节都会在栈上分配。
------解决方案--------------------
呵呵,
------解决方案--------------------
命名就和char szTmpBuf[512];差不多
做二次开发的时候还遇到过拼音命名的
------解决方案--------------------
记得effctive c++上提到不要过早定义变量,使用的时候才去定义
------解决方案--------------------
估计编写华为编程规范的人是搞C的。C就是要开始就定义好。我们老大对我使用时定义变量也是不看好。哎~
------解决方案--------------------
真的,不知道是那时候没插件还是咋的,全都顶格写...
------解决方案--------------------
编译器没法去优化这段代码。
------解决方案--------------------
这个无绝对吧.
我认识第一种写法好的。看起来舒服/易维护。这是我的风格.
------解决方案--------------------
像szTmpBuf这样的。是否要在函数开始出一次性定义,只在if里定义,
尤其是你的命名还不能让人一下明白意图
------解决方案--------------------
这个与编译器有关。在函数开始时就分配,可以加快函数执行速度。我觉得vs会这么做。
------解决方案--------------------
在华为的编码习惯中,说一个函数中使用到的变量,要一次性在函数开头定义好。
但是我觉得有些局部变量不一定要在函数开始的时候一次性定义。比如:
void Test()
{
..... //其他代码
if(false)
{
char szTmpBuf[512]; //
}
}
像szTmpBuf这样的。是否要在函数开始出一次性定义,只在if里定义,当条件不满足的时候,可以少512的内存并减少分配空间的CPU时间,且不是更好。
还有,如果我不一次性创建对象,如:
char szTmpBuf[512];
....//干点别的什么事情代码
int iSum = 0;
这样会不会比一次性定义在效率上低?求大牛!
另外,问一下,大家一般编码的时候,字符串数组,对象数组如何命名呢?
------解决方案--------------------
哎,无奈用的C,必须在开始定义好...
------解决方案--------------------
不管有没有进入if语句,这512个字节都会在栈上分配。
------解决方案--------------------
呵呵,
------解决方案--------------------
命名就和char szTmpBuf[512];差不多
做二次开发的时候还遇到过拼音命名的
------解决方案--------------------
记得effctive c++上提到不要过早定义变量,使用的时候才去定义
------解决方案--------------------
------解决方案--------------------
真的,不知道是那时候没插件还是咋的,全都顶格写...
------解决方案--------------------
编译器没法去优化这段代码。
------解决方案--------------------
这个无绝对吧.
我认识第一种写法好的。看起来舒服/易维护。这是我的风格.
------解决方案--------------------
像szTmpBuf这样的。是否要在函数开始出一次性定义,只在if里定义,
尤其是你的命名还不能让人一下明白意图
------解决方案--------------------
这个与编译器有关。在函数开始时就分配,可以加快函数执行速度。我觉得vs会这么做。
------解决方案--------------------