不懂就问,这个 if 存在的意义是什么呢?

2022-09-05 11:57:33 +08:00
 Ashore

最近看到的这份代码,有很多这样的写法。这样写是有什么意义吗?

if(1==1){

}else{
	// do something
}
3168 次点击
所在节点    问与答
24 条回复
freakxx
2022-09-05 11:59:48 +08:00
如果讨论意义的话

大概思路是这样的
- 保持 if else 判断完整
- 保持正向判断

所以就有了图片这个写法
lakehylia
2022-09-05 12:02:35 +08:00
写个注释就好了。有时候 IDE 会帮你简化的。
wfd0807
2022-09-05 12:20:49 +08:00
见过类似的代码,一个自学 python 编程的测试就是这么写的
问:为什么空 if ?
答:没反应过来
问:那现在反应过来了
答:懒得改了
fmumu
2022-09-05 12:33:41 +08:00
需求变化了?
hgc81538
2022-09-05 12:34:13 +08:00
邏輯簡單直白, 我會在空白 if 裏加詮釋
if($is_authenticated){// passed}else{...}
murmur
2022-09-05 12:41:14 +08:00
这种 if true 一般是想写什么,但是突然去掉了这个判断,保留以作后用
heyjei
2022-09-05 12:42:46 +08:00
这事儿,我经常干,

经常需求改着改着 if 里面的逻辑就不要了,但是 else 里面的逻辑还是要的,于是只能把 if 里面的逻辑删了,但是要是真的删了,万一以后又要用怎么办,于是只能把逻辑判断改成永远都是 false 或者 true 。

但是 if (true) 或者 if (false) IDE 又会提示警告信息,于是换成 if (1 == 1) 或者 If (1 != 1) 完美解决问题。
Jooooooooo
2022-09-05 12:46:02 +08:00
忘记去掉了, 逻辑更清晰.
meeop
2022-09-05 12:53:54 +08:00
占坑用的代码啊,代码除了逻辑,也还有流程,结构

这种就是先写结构,后填逻辑,只不过出于各种原因有些逻辑是空
yjim
2022-09-05 14:27:46 +08:00
你这图里的示例跟你放出来的根本就是两码事...

图里的逻辑是这样的, 去数据库取东西出来并赋给变量 $tt

如果 $tt 存在且不为 NULL 则执行 if 里的代码, 如果 $tt 不存在或者 $tt 为 NULL 则执行 else 里的代码

值得注意的是不同语言对 if 变量 这种格式的判断方法是不一样的, 像 PHP 变量为 NULL 也是 FALSE; 其他语言就不一定了,可能只要变量是存在的即使为 None 也算 True
Vegetable
2022-09-05 14:31:11 +08:00
没有注释一律认定为屎山
我认可为了减少心智负担,让代码逻辑符合认知,而预留奇怪的无意义写法,但是这种写法必须有其他文字说明。
interger
2022-09-05 15:09:03 +08:00
这段代码让我最恼火的不是 if ,是花括号
chenyu8674
2022-09-05 15:18:35 +08:00
我倒是经常会写
if (条件 1 || 条件 2 ) {
} else {
doSomething
}

不然用一堆否判断会极大降低可读性
laoyur
2022-09-05 15:21:45 +08:00
@interger 暴躁老哥,不仅花括号风格混搭,还特么符号两边不留空格!
Ashore
2022-09-05 16:05:57 +08:00
@freakxx 那也没必要所有的都这么写。。80%以上的查询都带了这么一个判断。,。,。
Ashore
2022-09-05 16:06:56 +08:00
@fmumu 不知道。。。如果是需求变了的话,那也不应该没代码。。
Ashore
2022-09-05 16:08:50 +08:00
@interger 我不敢格式化,刚开始的时候有个文件我给格式化了,然后就一直报错。
hzxxx
2022-09-05 19:39:49 +08:00
有没有可能是自动生成的
jtsr
2022-09-05 19:48:51 +08:00
在 python 里一般加个 pass ,感觉逻辑比较顺。用非条件增加理解成本
f0rger
2022-09-05 20:34:41 +08:00
有没有可能,领导要求过高代码量?比如我现在的公司就是。而且他还真看,偶尔会截图问为什么提交少

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX