咨询关于代码优化的问题。
发布于 1年前 作者 lonso 611 次浏览
false ? true ? item.isdelete = true : item.isdelete = false: false ? item.activation = true : item.activation = false;

这句代码如何优化? 谢谢。!

13 回复

展开再说。这样的语句不是给人读的。

这么丑的代码,优化个球

展开后几乎是这样。
if (deleteFlag) {
                if (!status)
                    item.isDelete = true;
                else
                    item.isDelete = false;
                user.update(item, function(err){
                    if (err) {
                        console.error(err);
                        res.json({isSuccess: false});
                    } else {
                        res.json({isSuccess: true});
                    }
                })
            } else {
                if (!status)
                    item.activation = true;
                else
                    item.activation = false;
                user.update(item, function(err){
                    if (err) {
                        console.error(err);
                        res.json({isSuccess: false});
                    } else {
                        res.json({isSuccess: true});
                    }
                })
            }

就是丑才优化撒,不丑优化个球。

item[deleteFlag ? ‘isDelete’ && ‘activation’] = !status;

user.update(item, function(err){ if (err) { console.error(err); res.json({isSuccess: false}); } else { res.json({isSuccess: true}); } })

条件语句, 最好不要超过两层

这个感觉好像不错。

对啊,就是发现这种问题,所以想怎么解决下~~

@lonso 好像是喔…搞反了…orz…话说谁写的…这样的代码过两天自己都看不懂了吧…

@youxiachai 对的,就是看代码,发现问题。

@lonso user.update 那段是重复的,可以挪到外面。代码就少很多,可读性也好些。

这和优化无关。 这叫write code for human

这叫代码结构优化,目的是增强可读性,而不是代码性能优化

回到顶部