什么是优秀的程序员思维

2023-09-29 18:43:56 浏览数 (1)

有个学生问我,优秀的程序员思维应该是什么样的?

讲道理,这个东西解释起来有点麻烦

但是我又觉得这是一个非常有意义的问题,因为很少有前端会认真去思考它

给大家讲一个案例

我们前端经常会用到的点击事件

常规的视觉里,点击就是鼠标按一下,

onclick 的存在,让许多初学者也认为点击就是按一下

代码语言:javascript复制
btn.onclick = function() {}

但是在程序员视角里,点击一下其实没这么简单

我们至少要关注他经历的三个步骤:按下,持续时间,按起

你如果忽略一个细节,可能解决问题的能力就会弱上一分

比如许多人常常会忽略的一个步骤就是按下之后的持续时间,

我们脑袋里面没有持续时间这个概念

于是,新手程序员往往会对轻触、双击、长按事件束手无策

有没有?

因为在你的脑海中,点击事件被简化成为了 onclick,于是与他相似,但是又有那么一点差别的功能实现起来就没什么头绪了,你看不到他们的相似性

但是如果你关注了持续时间,那么这些操作实现起来就跟点击一下一样简单

这就是差别

当然我们还可以继续扩展

因为按下这个事件,也是被简化之后的结果,

我们至少还应该关注按下时的位置信息,这是精准描述你按下的不可或缺的条件

但是我们在使用的过程中,这个位置信息也被简化了

因为缺乏对于位置信息的关注,新人朋友就会对拖拽一头雾水

视差效果的实现也是一个难题

拖控件来完成网页的布局也不知道应该怎么搞

玩过英雄联盟的同学都应该知道,许多技能都是指向性的,因此,你要释放这个技能,如果只是点一下,就不行,就必须得配合另外一个条件来指定该技能释放的方向

在PC端比较好做到

但是在手机端,没有了鼠标和键盘,又应该怎么做呢?

我相信一定有人不知道如何实现

但是,他的实现过程跟点击一样简单

在技能位置按下 -> 移动 -> 在合适的位置按起

我这样简单的表述,不知道能不能为大家提供一点灵感?


总的来说,优秀的程序员都具备创造者思维,看问题更偏向于接近事物的本质,与此同时,他们具备更强的学习能力和解决问题的能力。

不过可惜的是,由于种种原因,前端程序员容易陷入使用者思维,他们在自我成长的过程中,会走更多的弯路,更难以突破瓶颈,甚至会给人一种,前端程序员不像是程序员的感觉

0 人点赞