Frontend Dev
首发于Frontend Dev

驳《驳《我不是很懂 Node.js 社区的 DRY 文化》》

我真的是因为觉得这个标题很酷才写这个文章的。首先说明我觉得 justjavac 的文章很好,做了一些工程和编程的科普,但是我不能不回应。

因为我发现有些人以为我不回应就是认输了。所以 @justjavac 请包涵。

总得来说,我不知道我哪里被驳倒了,本来我就只表达了一个主观观点,Node.js 的社区习惯很奇葩,一行代码的库这么多人用导致臃肿。


貌似 Node.js 社区没人正面回应我的问题,就知道拿我的槽点反向吐槽。

方应杭:请 Node.js 社区正面回答zhuanlan.zhihu.com图标



is-odd

我的论点是这些 JS 程序员不会写判断奇数吗?

justjavac 的论点是,对的,判断奇数很难写。


justjavac 说得没错,但是用 n%2==1 来判断奇数也是没错的,为什么?

因为所有代码都是有上下文的。

假设我们要在列表的奇数行加上一个属性

for(let i=0,l=taskList.length; i<l; i++){
  if(i%2===1){
    taskList[i].isOdd = true
  }
}

有问题吗?我已经知道 index 是自然数了而且基本不会超过1000,我还会去判断 index 是不是负数、无穷数吗?


不说场景谈需求是不对的,而且你也说了 is-odd 这个库有问题。

有问题还有每周250万下载,不正说明 Node.js 社区的问题?

对吧?


你说不行,我一定要找一个完美的 is-odd 才行。

那你的项目还做不做了?

用 % 绝对能满足 95% 的需求,而 is-odd,根本满足不了余下的 5% 需求。

所以 is-odd 这个代码这个下载量明显说明 Node.js 存在问题嘛。


只要 markdown 写得漂亮,就能迷倒 JS 程序员


我的论点是:鼓励把 markdown 写好。

justjavac 的论点是:对的,markdown 要写好。


1 + '1' 的问题一直在困扰 JS 程序员,我要不要写一个 add() 库解决这个问题呢


这里我没啥论点,你们咋一点幽默感都木有。明显我是在讽刺有人用一个不完美的 is-odd 来代替简单的 % 运算,没有人会真的以为我要写 add() 吧……


大数相加用 bigint,浮点数相加要考虑精度……谢谢 justjavac 的科普。


我还写过 0.1 + 0.2 为什么不是 0.3 这种文章,幸好我以前写过,不然真被当成傻逼了呢:

若愚:为什么 0.1 + 0.2 结果为 0.30000000000000004zhuanlan.zhihu.com图标


最后三句话:


没有银弹!DRY 不是银弹,DRY 也会造成问题!

没有银弹!DRY 不是银弹,DRY 也会造成问题!

没有银弹!DRY 不是银弹,DRY 也会造成问题!


我怀疑我被整个前端社区盯上了,遛回我自己的 QQ 群了:566475505


链接:驳《我不是很懂 Node.js 社区的 DRY 文化》

编辑于 2018-04-19

文章被以下专栏收录