if语句的化妆? [英] Makeup for if-statements?

查看:61
本文介绍了if语句的化妆?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经这样做了:


if(parent [x] ==& N :: sentinel){

/ *更新root。 * /

父[(* this).header] = y;

} else {

if(x == left [parent [ x]]){

left [parent [x]] = y;

} else {

right [parent [x]] = y;

}

}


但我不是很喜欢它。任何让它看起来更好的建议

更清楚?

I have made this:

if (parent[x] == &N::sentinel) {
/* Update root. */
parent[(*this).header] = y;
} else {
if (x == left[parent[x]]) {
left[parent[x]] = y;
} else {
right[parent[x]] = y;
}
}

but I don''t really like it. Any suggestions for making it look better
and more clear?

推荐答案

desktop写道:
desktop wrote:

我已经这样做了:


if(parent [x] ==& N :: sentinel){

/ *更新root。 * /

父[(* this).header] = y;

} else {

if(x == left [parent [ x]]){

left [parent [x]] = y;

} else {

right [parent [x]] = y;

}

}


但我不是很喜欢它。任何让它看起来更好的建议

更清晰?
I have made this:

if (parent[x] == &N::sentinel) {
/* Update root. */
parent[(*this).header] = y;
} else {
if (x == left[parent[x]]) {
left[parent[x]] = y;
} else {
right[parent[x]] = y;
}
}

but I don''t really like it. Any suggestions for making it look better
and more clear?



非常清楚。无需更改。

It is pretty and clear. No need to change it.


2007年5月29日星期二17:28:13在comp.lang.c ++中的+0200,桌面

< ff*@sss.comwrote,
On Tue, 29 May 2007 17:28:13 +0200 in comp.lang.c++, desktop
<ff*@sss.comwrote,

>但我不是很喜欢它。有什么建议让它看起来更好
更清晰?
>but I don''t really like it. Any suggestions for making it look better
and more clear?



第一步,链 else-if和摆脱额外等级

括号。


if(parent [x] ==& N :: sentinel){

parent [(* this).header] = y; //更新root。


}否则if(x == left [parent [x]]){

left [parent [x]] = y ;


}否则{

对[parent [x]] = y;

}


5月29日上午11:28,桌面< f ... @ sss.comwrote:
On May 29, 11:28 am, desktop <f...@sss.comwrote:

I已经做到了这个:


if(parent [x] ==& N :: sentinel){

/ *更新root。 * /

父[(* this).header] = y;

} else {

if(x == left [parent [ x]]){

left [parent [x]] = y;

} else {

right [parent [x]] = y;

}

}


但我不是很喜欢它。任何让它看起来更好的建议

更清晰?
I have made this:

if (parent[x] == &N::sentinel) {
/* Update root. */
parent[(*this).header] = y;
} else {
if (x == left[parent[x]]) {
left[parent[x]] = y;
} else {
right[parent[x]] = y;
}
}

but I don''t really like it. Any suggestions for making it look better
and more clear?



这没什么问题。它有* / b $ b K& R样式的括号,我的个人偏见是b / b $ b $垂直括号。所以我这样做:


if(parent [x] ==& N :: sentinel)

{

//如果这里的东西

}

其他

{

//其他案例在这里

}


等等。但这只是个人的偏见。

这不是我建议改变现有代码的原因。

除非你有一些mods,否则我会建议

不管它。工作代码不应该因为优雅而被触及。原因。如果它正在做它应该做的事情,并且满足性能等的

要求,不要冒险

添加错误。


请记住,代码中的每个错误都放在那里

由你支持。


如果你有变化,你去哪里取决于你需要做什么
。例如,如果你需要添加大量新的逻辑案例,那么你可能会考虑像桌面驱动系统这样的东西。

或者,如果每个案例的处理得到更多,那么你可以考虑使用函数

进行处理并保持逻辑判断

尽可能简单明了。或者你

可能会认为你需要一些

类型的状态引擎,也许还有一个类来处理它。

袜子


这篇关于if语句的化妆?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆