我只是在阅读意大利面代码的前 100 个标志,我遇到了数字 4,它简单地说:
if ($status == "awake"){
$actitivity = "Writing spaghetti code";
} else if ($healthstatus == "OK"){
$activity = "Sleep";
} else {
print "CALL 911 IMMEDIATELY!";
}
Run Code Online (Sandbox Code Playgroud)
我在其他意大利面讨论中看到过这种多重 if-else 模式。我有点困惑为什么会这样,即使它适用于这个例子。
上面的例子不好是因为
第一个变量actitivity表示编码器需要一些睡眠,所以这是一个笑话,或者
在逻辑期间不应输出视图,或
如果/否则太多的东西
编辑不要介意第二部分,因为嵌套条件和多次返回,这很糟糕
在其他意大利面讨论链接中,是不是因为
- 逻辑return在其中,这打破了流程,或者
- 有太多if/else堆积在彼此之上......?
If/else声明常常违反开闭原则。(Java 示例,但在 PHP 中也有效)
解决方案 => 支持多态性。
此外,多次分配临时变量确实容易出错并降低可读性。特别是在 PHP 中,因为它不是静态类型语言。事实上,如果有人先分配$actitivity = "Writing spaghetti code";然后再分配怎么办$actitivity = 1;?...将苹果和橙子放在同一个容器中混合...看看这个: http: //sourcemaking.com/refactoring/split-temporary-variable
print此外,仅当条件之一得到验证 => 方法不内聚并因此违反 SRP 时,该逻辑才允许副作用 ( )。
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |