1
sandideas 2015-09-10 12:22:54 +08:00 via iPhone 3
让我想起来一个梗。
a==b?a:b |
2
leavic 2015-09-10 12:25:25 +08:00 1
全世界最好的语言可读性真 tm 高
|
3
laoyur 2015-09-10 12:27:16 +08:00 1
其实还好了,人家还很贴心地把 ? 和 : 单独作为一行
|
4
Felldeadbird 2015-09-10 12:30:56 +08:00
没看出滥用啊。
|
5
shuimugan 2015-09-10 12:32:50 +08:00 1
三目运算符,凡是超过一行的,或者一行长达 70 个字符左右的,看到一个就重写一个
php 的替代语法也是蛋疼,简直是坑队友神器: phpstrom 无法高亮逻辑边界 netbeans 对于逻辑开始的边界只高亮个冒号,对于代码过长时上下翻动不方便,sublime text 的 BracketHighlighter 插件还好 但是共同的缺点都是无法直接一个快捷键匹配括号来快捷跳转,都得用肉眼去区分逻辑块 凡是用了替代语法的,见一个改一个 |
6
chmlai 2015-09-10 12:34:09 +08:00
又没有嵌套, 这有什么问题.
|
7
catfan 2015-09-10 12:39:34 +08:00
人家明明在源代码换行处还写了注释的...怎么把它给删除了?
|
8
ffffwh 2015-09-10 12:49:10 +08:00
if (xx ){yy}else{zz} <-- 这个叫 if 语句
xx?yy:zz <-- 请称呼为 if 表达式 /条件表达式 不再多说 |
9
jhdxr 2015-09-10 12:51:18 +08:00
我也没觉得有什么问题,相比之下如果拆成两个 if 我觉得会更蛋疼些
|
10
cin 2015-09-10 12:52:14 +08:00
为什么不格式化下代码, 你这样发的帖看一眼就想 x 掉.
|
11
lianyue 2015-09-10 13:06:17 +08:00
还好 来看看我写的。。我找找。。
// 不需要该表的 if ($tables && !($table->alias ? in_array ($table->alias, $aliasUse, true ) : ($table->expression || in_array ($table->value, $aliasUse, true ))) && (is_array ($table->column ) && !array_intersect ($table->column, $columnUse ))) { continue; } |
12
lianyue 2015-09-10 13:06:30 +08:00
在 if 里面里面用 。。。
|
13
ck65 2015-09-10 13:10:56 +08:00
medoo 猫不服请大家不要忽略啊 xD
|
14
ChiangDi 2015-09-10 13:47:47 +08:00
我讨厌这个三元运算符,除了最简单的情况基本上不用。
|
15
raincious 2015-09-10 14:00:23 +08:00
我能看懂……
第一行:判断是否有. <=点 第二行:如果有,就将字符串组合成"something"."blabla"(话说不应该是`么喂 4 ?) 第三行:否则,就拼成 table."col"( table 是自己拿参数补的,自己之前已经包好了") 果然是 PHP 写太多了。 |
16
realpg 2015-09-10 14:01:51 +08:00
是不是你把缩进干掉了……
源代码除了换行还是有缩进的吧…… 有缩进的话看起来不难看啊 |
17
Xrong 2015-09-10 14:11:51 +08:00
我觉得这个还好吧,又不是嵌了 5 、 6 层
|
18
jin5354 2015-09-10 14:14:02 +08:00
我觉得用三元运算符节省代码行数完全没有必要
除了极简单的操作我会用,其他都用 if |
19
mcfog 2015-09-10 14:24:09 +08:00
这里主要坑在长字符串拼接吧
|
20
msg7086 2015-09-10 14:40:04 +08:00 1
首先这里的问题根本不是三元运算符而是字符串拼接。
$keyformat = ... ? ... : ...; $key = sprintf ($keyformat, str_replace (......, $key )); $valformat = ... ? ... : ...; $val = sprintf ($valformat, $value ); $joins[] = sprintf ("%s=%s", $key, $val ); 同样是 2 个三元运算符,这样写你看着有困难么? |
22
fuxkcsdn 2015-09-10 15:01:06 +08:00
20 楼+1
主要是字符串拼接在没代码配色的情况下,看起来很乱 |
23
cxbig 2015-09-10 15:08:49 +08:00
这里三元运算很短啊,只是这个写法不够美观,可以先运算赋值给变量,再拼 string
|
25
zj299792458 2015-09-10 15:33:50 +08:00 via iPhone
无论什么情况都等于 a 哈哈哈哈哈
|
26
zj299792458 2015-09-10 15:34:45 +08:00 via iPhone 1
@sivacohan 无论什么情况都等于 b 之前说错了
|
28
aa45942 2015-09-10 17:53:25 +08:00
三元符很蛋疼+1 ,特别是三元套三元,简直了
对效率提升没任何效果,对代码可读性影响效果拔群 |
31
hellokittyer 2015-09-10 19:36:11 +08:00 via Android
要不然就不用 php 了, 233
|
32
xpol 2015-09-10 23:31:09 +08:00 via iPad
单独一个变量存储一下又不会怀孕。
|
33
lincanbin 2015-09-10 23:36:52 +08:00
你想要证明这样算滥用,你必须拿出比这个可读性更好的解决方案,不是么?
你想要证明这样算滥用,你必须拿出比这个可读性更好的解决方案,不是么? 你想要证明这样算滥用,你必须拿出比这个可读性更好的解决方案,不是么? |