我的代码被人指出几个问题
想听听这里的高手的意见
1。变量应该在什么地方申明?
int a=
……
for()
{
a=……
}
a只在循环里面用到,离申明的代码行有一定距离
有人告诉我应该在for循环里面申明,现用现申明
如果这样的话会不会造成for循环每次都给变量分配和施放空间,
造成效率的下降?2。
对变量a的操作
for()
{
a=……
对变量a的操作
}
“对变量a的操作”是相同的一句,
那人说这样的代码重复了,
应该修改循环条件,把这句完全放在循环里面,
否则一出错就是两处错误
3。我用了goto语句被指出不好
是否应该避免用goto?
想听听这里的高手的意见
1。变量应该在什么地方申明?
int a=
……
for()
{
a=……
}
a只在循环里面用到,离申明的代码行有一定距离
有人告诉我应该在for循环里面申明,现用现申明
如果这样的话会不会造成for循环每次都给变量分配和施放空间,
造成效率的下降?2。
对变量a的操作
for()
{
a=……
对变量a的操作
}
“对变量a的操作”是相同的一句,
那人说这样的代码重复了,
应该修改循环条件,把这句完全放在循环里面,
否则一出错就是两处错误
3。我用了goto语句被指出不好
是否应该避免用goto?
问题2得看你的目的是什么
问题3:用goto的确不好,但必要时还得用,效果还是不错的
struc stc
{
char * a;
stc * b;
}
stc * c=new stc
……
stc * d=c
d->a='a'
while(d->b!=NULL)
{
d=d->b
d->a='a'
}
那人说d->a='a'不该重复写两次
说我编程不太规范之类
while(NULL != p)
{
p->a = 'a';
p = p->b;
}
问题1 :我认为应该写在循环外面
问题2 :没看太明白,应该是具体问题具体分析吧
问题3:用goto容易导致程序思维的混乱我认为,代码首先要具有可读性,不要把程序弄得晦涩难懂
其次是优化问题,但是对于小程序来讲,凑合用就行了,我就是这样
没啥经验,胡说几句:)
2:尽量易读
3:goto挺好的。不过我基本上不用。几十行到十行的也不算什么优化,常常为了易读,把十行的代码写成几十行;
不过一样的功能:别人8000~10000行代码量的系统常常被我改成4000~5000行来实现。哈哈