NO NEWS IS GOOD NEWS

Posted sherrywasp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NO NEWS IS GOOD NEWS相关的知识,希望对你有一定的参考价值。

技术分享图片

 

  从客户那传来一个噩耗:要求每个表单在保存之后,要在页面上弹一个 “ 保存成功 ” 的对话框。

  客户代表自得意满地说这样用户体验更好,略带谴责意味地傲娇道,“你们早该想到的”。呵呵…… 可不是嘛,我刚入行时,每个页面都这么想的。

  我琢磨着,这事不大,既然不大,那就 “话不投机半句多”,不和客户废话了。于是,和同事们一通忙活之后,提交代码。

  望着 Git Bash 里的 add, commit 这些命令之后干净清爽地反馈,不禁感到一丝讽刺。

 

  Git Bash 承袭 UNIX 文化,在 UNIX 哲学里,有一条叫做 " No news is good news .

  i‘m lovin‘ it.

 

  个人以为,如果一个操作正确地完成了,那界面上就安静地等待下一个动作好了,没有必要跳出来高呼一声 “保存成功”、“操作完成” (尤其是如果还带一个感叹号!)……  在命令行界面多显示一排文字,倒还无所谓。但是在浏览器里弹一个对话框,不管这个框是不是模态的,它都强迫用户关注到它的存在,这就很扰民了(尤其是如果还带一个感叹号!)。

  成功的消息,没有存在的必要(尤其是如果还带一个感叹号!)。软件本质上是一种服务工具,我们使用一款软件,执行里面的操作,其实目的在于动作的结果。当一切顺利,其结果产生的效用一定会通过程序背后的业务逻辑,在你预期的地方显现出来,你要的也正是这个效果。在用户本可以直接获取结果之时,塞进一条 “你成功了” 的消息,多此一举。

  如果用户不知道怎么查看正确的结果,叫他去看操作手册。(你发布的时候,一定准备了一份详细的说明书,不是吗?……嗯,不是? 快去写啊!)

 

  问个问题,你工作中喜欢什么样的同事?

  是那种话不多说,分配他一个活儿,到期时,漂漂亮亮地返回给你一个全套;

  还是你布置一个任务,之后每隔一会儿听到他报告,“我写完一个函数了”,“我写完一个页面了”,“我刚写完一段SQL了”。WTF ! ?   SHUT  UP ! !

  

  都说程序员不善言辞。但换个角度想,同样是完成任务,安安静静地一句 “ 提交了 ” 比喋喋不休的 “小报告” 要酷多了。几个页面、屁大点功能,嚷嚷啥?不知道的还以为你写了一个自主创新的国产浏览器呢。

 

  Linus Torvalds 说过:

  Talk is cheap, show me the code.

 

技术分享图片

 

  我曾经观察过,之所以有些人喜欢碎碎念似的汇报工作完成情况,其实大多是因为他们实际上没做多少事。这里面有个很有趣的心理学现象:越心虚,越壮胆。因为实际产出没多少,或者没达到预期,于是下意识地刻意表达,强化输出,有点类似刷存在感。因为如果不刷,担心别人可能注意不到,实际是由于产出有限。

  这种现象在喜欢搞 “日报” 的公司里很常见,为了填“日报”,就像小学生写作文为了凑满字数一样,把简单的事情分成若干项来填充,显得自己干了很多事。

  我从来不喜欢所谓的 “日报”,在我经历过的项目开发中,双周滚动,是我比较喜欢的一个姿势 ……

 

  扯远了,说回来。当命令运行成功时,不需要脱裤子放屁似的 “成功” 提示。这里面还有一个道理,假设每次成功都弹个窗,用户每次见到提示都要确定一下,久而久之,用户对于系统发生在屏幕上的提示就会麻木,见着弹窗就立马去确定。如此一来,当有一天真发生了错误,界面上弹出的是失败的提示时,用户完全有可能压根不看,直接关掉。这也就意味着整个系统的提示功能,废掉了。

  心心念念的成功,携手失败,一起崩塌。

 

  说到这,顺便吐槽一下 Windows 系统里著名的 “内存读写错误” 的对话框。

  在以前用Windows的时候,会遇到一个【0x??????????指令引用的0x????????内存。该内存不能为“read”或"written"。】的错误提示对话框。

  小时候看到这个,还以为电脑要爆炸了。

  后来入行了,惊讶微软居然会有这种弹窗,想不通微软把这个内存地址弹给用户做什么,且不说绝大多数的用户都是普通用户,即便是程序员,看到这么原始的错误提示,又能干嘛?你还指望我打开机箱去找那个内存地址谈谈?

  所以,当我第一次遇到这个对话框,在我小心翼翼地点击确定,发现电脑并没有爆炸之后,从此见到这框就立刻确定消灭掉,然后养成了习惯。

  这个框,一直到 Winows 7 都存在,我没用过 8,直接跳到 10,在Windows 10里面,似乎没有再见到这个框了,我不知道是 Windows 的产品经理(如果他们是叫“产品经理”的话)重新设计了这个地方还是系统稳定性提升了以致于我还没有遇到。总之,这个框,和蓝屏一样,已经深入人心地可以代表微软了。

技术分享图片

 

  

  

 

   嘘…… 做个安静的写代码的人,写安静的程序吧。

  

以上是关于NO NEWS IS GOOD NEWS的主要内容,如果未能解决你的问题,请参考以下文章

Codeforce 672B. Different is Good

1419: Red is good

BZOJ——1419: Red is good

作文范文《Good Communication Is the Best Policy》

Thoughtful function is also good for investigation

Vue.js Is Good, but Is It Better Than Angular or React?