Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 否则阶梯优化_If Statement - Fatal编程技术网

If statement 否则阶梯优化

If statement 否则阶梯优化,if-statement,If Statement,如何解决这个问题。如果我使用switch循环复杂度会增加,而且值也会感觉像真的。在某些情况下,解决方案是分离代码。不是每个人都喜欢它——我确实喜欢它 这只意味着你“从最高层”处理情况,并以回报结束情况 任何语言中的伪代码 (无论如何,一切都应该在一个函数中…) (在许多语言中,有一个“finally”或“always do”的概念,它可以在w/.breakoff dcode中很好地工作。) 你的例子。。。 第1步,按照应该的方式放入函数中,第2步使用“分离块” 一些人(但不是所有人)认为这样更好

如何解决这个问题。如果我使用switch循环复杂度会增加,而且值也会感觉像真的。

在某些情况下,解决方案是分离代码。不是每个人都喜欢它——我确实喜欢它

这只意味着你“从最高层”处理情况,并以回报结束情况

任何语言中的伪代码

(无论如何,一切都应该在一个函数中…)

(在许多语言中,有一个“finally”或“always do”的概念,它可以在w/.breakoff dcode中很好地工作。)

你的例子。。。 第1步,按照应该的方式放入函数中,第2步使用“分离块”

一些人(但不是所有人)认为这样更好:

Something()
{
if comms.text != 17.2
 {
 .. 100s of lines of code here ..
 .. they are all indented ..
 }
else
 {
 an error!
 }
}

“分离代码”在某些情况下可能适用于您;在任何情况下,您都可以意识到这种方法。

在某些情况下,解决方案是分离代码。不是每个人都喜欢它——我确实喜欢它

这只意味着你“从最高层”处理情况,并以回报结束情况

任何语言中的伪代码

(无论如何,一切都应该在一个函数中…)

(在许多语言中,有一个“finally”或“always do”的概念,它可以在w/.breakoff dcode中很好地工作。)

你的例子。。。 第1步,按照应该的方式放入函数中,第2步使用“分离块”

一些人(但不是所有人)认为这样更好:

Something()
{
if comms.text != 17.2
 {
 .. 100s of lines of code here ..
 .. they are all indented ..
 }
else
 {
 an error!
 }
}

“分离代码”在某些情况下可能适用于您;无论如何,你都可以意识到这种方法。

它看起来已经很好了,你做得再好不过了。这绝对是可怕的-千万不要这样做。请注意,在你的具体例子中,请阅读“下面的分离代码”,你可以直接“删除所有其他代码”!!!因为它是分离代码!顺便问一下,“优化”是什么意思?你不喜欢这个代码中的什么?你想让它更具可读性?更易于维护?性能更好?没有比这更有效的了。可读性有点主观,如果您愿意,可以使用常量而不是幻数。你也可以像@Fattie建议的那样,如果你觉得那样更优雅的话,就把elses扔了。我个人认为这是可以接受的:)这是一个很好的观点,即“运行速度快”的意义上的“优化”绝对不是OP的意思,好的一个。OP只是意味着“更好的”工程-更清晰,更可维护,无论这些年软件工程的流行趋势是什么:OIt看起来已经很好了,你不能做得更好。它绝对可怕-永远不要这样做注意,在你的具体例子中,请阅读“下面的分离代码”,你可以直接“删除所有其他代码”!!!因为它是分离代码!顺便问一下,“优化”是什么意思?你不喜欢这个代码中的什么?你想让它更具可读性?更易于维护?性能更好?没有比这更有效的了。可读性有点主观,如果您愿意,可以使用常量而不是幻数。你也可以像@Fattie建议的那样,如果你觉得那样更优雅的话,就把elses扔了。我个人认为这是可以接受的:)这是一个很好的观点,即“运行速度快”的意义上的“优化”绝对不是OP的意思,好的一个。OP只是意味着“更好的”工程——更清晰、更可维护,无论这些年软件工程中流行什么:O
float HandleValue(float v)
{
 
 if (2.0 <= v) {
    return 1
 }

 if (0.7 < v && v < 2.0) {
    return 0.9;
 }

 if (0.13 <= v && v <= 0.7) {
    return 17.6;
 }
 
 log didn't find a bracket in HandleValue
 return default value
}
Something()
{
if comms.text != 17.2
 {
 .. 100s of lines of code here ..
 .. they are all indented ..
 }
else
 {
 an error!
 }
}
Something()
{
if comms.text == 17.2
 {
 an error!
 return; .. note the "return" in breakaway code
 }

.. 100s of lines of code here ..
.. no need for indentation ..
}