最近公司读书会在看 Martin Fowler 的 Refactoring,
大概第九或第十章他有用到三元
sample code 大概是这样
const price = summer()? summerPrice() : commonPrice();
然后我们有看这串文章讨论了一下
讨论的结果是,我们觉得三元比较适合用在 "单纯,且明确是非 A 即 B 的情况"
ex const desc = score > 60? "及格" : "不及格"
而像上面 summer 的情况则比较不适合,
因为一年有四季,需求调整改著改著就变巢状了,
除非公司有明确的规范及 review 作业流程
而为了避免各种认知差异衍生的麻烦,直接禁用也是合理的
以上,刚好最近也有讨论到
※ 引述《a88241050 (再回头已是百残身)》之铭言:
: 小弟写java的
: 以前常常写三元判断式
: 就比如说
: String a;
: if(con) {
: a= "aaa";
: } else {
: a="bbb";
: }
: 这样就要占掉六行
: 所以我通常都是写
: String a= con ? "aaa" : "bbb";
: 从五行变成一行
: 在我看来简洁又方便
: 但最近给一个资深前辈code review的时候
: 他说不要用三元判断式
: 因为不好阅读
: 他工作那么久也从来不用三元判断式的
: 而且java有很多套件都可以用来取代三元判断式
: 所以用三元判断式真的不好吗?