看到这样的代码,你想不想杀人!
发布于 8 个月前 作者 sm0king 2920 次浏览 来自 分享

QQ图片20171117160155.png

不摆了,上代码~~ 我们32楼,我只想把他隔窗户丢出去。

21 回复

难道不能用switch吗

来自酷炫的 CNodeMD

小叮当看了想打人

这是煞笔写的吧?开了

哈哈还给你添了注释挺给面子了

代码已经表达了心情,全是-> : (

稍微修改一下,你会发现这样写看起来超舒服

const sg = data.content.strGoods;
const storesMainName = sg ? (
  sg === '01' ? '数码产品(手机、电脑、相机)' :
  sg === '02' ? '车(电瓶车、摩托车、自行车)' :
  sg === '03' ? '家电' :
  sg === '04' ? '摄影' :
  sg === '05' ? '珠宝' :
  sg === '06' ? '驾校' :
  sg === '07' ? '其他' :
  sg === '08' ? '医疗美容' :
  sg === '09' ? '车险' : ''
) : '';

比switch还舒服

附解法二

const sgs = {
  '01': '数码产品(手机、电脑、相机)',
  '02': '车(电瓶车、摩托车、自行车)',
  '03': '家电',
  '04': '摄影',
  '05': '珠宝',
  '06': '驾校',
  '07': '其他',
  '08': '医疗美容',
  '09': '车险',
};

const storesMainName = sgs[data.content.strGoods] || '';

@dislido 还是解法二看着舒服

来自酷炫的 CNodeMD

上面的代码还是可以看的, 那种套好多次循环的,然后判断多才不好读。

杀人是不好的,我反手就是一本《代码大全》

确实这种问题就应该表驱动,switch都不太好

switch?感觉最好是弄个 Map,说白了一个对象搞定。

From PWA CNode

为什么不能用map

var map = {
	'01' :'数码产品(手机、电脑、相机)',
	'02' : '车(电瓶车、摩托车、自行车)' ,
	.....
};
var sg = data.content.strGoods;
var name = map[sg];

这说明,面试的时候,问问“数据结构”还是有用的。

说实话我之前最开始参加工作的时候写过 现在回想看我当时确实蛮弱智的 虽然现在也不强 但至少在进步

明显就是智商欠费不够用,要补

image.png

有注释已经很好了。。。我接手的代码很多都是没有注释的,命名喜欢用a b c d e f …

这种代码看到就有强烈的重构欲…

@dislido 我就是写法2的人。2333333.能用写成配置的,绝不写死。

看起来有一种蜜汁美感,理解起来也不困难。 学到了。

回到顶部