前几天看到一条朋友圈,讲程序员思维,有感而发,写篇文章记录一下。
第一眼看到程序员思维,以为是一个褒义词,程序员多牛逼,逻辑超强,智商超高。
文中说的是这样一个例子。某天系统中反馈,出现了大量重复的提交请求,调查发现提交按钮遭到了用户的重复点击。
如果这个bug提到你这里,你会怎么修复呢?很明显,提交按钮没有防止多次点击,定义一个变量,表示用户是否是第一次点击,然后判断就好,如果是第一次点击才发请求。
几行代码写完之后提交上线,再也没有重复点击了,完美解决问题。
等等,真的完美吗?注意,这是典型的程序员思维。
程序员思维是以bug角度出发,或者以逻辑角度出发,去解决问题本身,与之相对的是什么呢?说出来你可能要打我。
是产品思维。
是的,虽然我们很讨厌产品经理,但是我们来看看人家是怎么思考这个bug的。
产品思维最重要的一点是从用户角度出发。最先想到的问题是用户为什么会重复点击提交。
是不是因为用户网络差,点击完之后没有反应,以为没点成功?
也就是用户并不知道是否点击成功了,所以这个bug的解决方案是,点击之后,给用户一个loading标志,并把提交按钮置灰,告诉用户点击已经生效了,正在请求提交。这样用户就不会再去点击提交按钮了,当然再点也是无效的。
再来看看程序员思维所谓的完美解法,是不是觉得瞬间弱了?看似解决了问题,实际上对用户而言没有任何区别。
很多时候问题的解决并不在于你有多强的技术能力,而就在于思维的一点点转变。
共勉。
有收获的话记得转发,希望我们都是有产品思维的程序员。