你知道为什么说程序员的逻辑思维最值钱吗?
什么是程序员思维
什么是程序员思维呢?
小编曾经读到过一些文章,试图给它下一个明确的定义。比如,具备抽象和逻辑思维的能力,拥有面向对象编程和设计的能力等等。小编对于这些所谓定义有些不以为然,因为,小编所体会的程序员思维更像是一种感觉,它是由常人的思维+编程思维,长期相互作用下产生的一种思维模式,它能够帮助程序员们快速的找到能以程序方式解决的现实问题的最优解。
那么,程序员们又是如何获得这种专属程序员的思维呢?
小编想说,从程序员们学习编程并写下你的第一个Hello World程序的时候,程序员思维就已经不知不觉地建立起来了,而随着你不断深入地学习与实践,它也变得越来越完整和成熟。下面就是小编认为对于提升程序员思维有所帮助的几点建议,虽然不做展开,但相信每个程序员都会认同吧。
- 长期不间断的编程实践
- 持续地学习与借鉴
- 学会反思,并像专家一样思考
我们来举个例子,来说明一下程序员的思考模式:
程序员们的工作,不是把一个篮子里现有的东西拿到另一个篮子里就能完成的,还要在这个篮子里把未来客户能放入的所有东西,都要提前做好相对应的盒子,等待客户装进去。
比如,你要做个登录功能,使用邮箱和密码登录。
普通人会认为:输入邮箱和密码,点确定,进来了。如果输错了,密码不正确。
但是程序员一般会做这样的验证:邮箱和密码为空的情况,两者有一个为空的情况,邮箱格式不对,包含缺少@和.,并且这两个符号前后都要有字母或数字。当然,这个用正则表达式来验证就可以了,说的是这种思维方式。
不仅仅如此,程序员还需要在客户端一层、服务器一层、数据库一层做验证,一般只在客户端和服务器做两层验证就可以了,为的是防止有人绕过客户端直接给服务器发请求,能在客户端拦下的,就不用让他去服务器端,节省资源。
所以,上面的验证方式有两套,这是一个简简单单的登录功能所要做的功课。
当然,现在的插件很多都集成了这种功能,只是说这样一个思考方式,其它更复杂的业务,也需要这样去思考,把所有能到达目的地的路都想一遍,客户想到的,我们要做,客户没有想到的,我们要提前想到,提前把路铺好。
程序员的技术思维
- What:
这个东西是什么。比如:自行车:是一个交通工具,两个轮子等等。这样在头脑中会有一个大体的轮廓,但不是特别清晰,基本知道之后就忘了。
- Do What:
这个东西能够做什么,有什么用处。比如:自行车,可以运输,将物体从一个地方送到另一个地方,还可以载人等等,只有你脑洞够大。这个时候你的头脑中对这个事物有了进一步的认识,但不深刻。
- Why:
为什么要有这个东西呢?与其他比较有和优势呢?存在的意义是什么呢?比如:自行车VS步行:1.速度快、路程远、减少消耗体力、还可以载人。 自行车VS汽车:成本低、节能、减少环境污等等。通过对比这个时候你对这个事物会有更深一步的认识,感觉世界又美好一点了。
- Just Do it:
实践是检验真理的唯一标准,这个时候你最需要的是弄一辆自行车,马上骑一骑,切实的体会其中的奥妙。这时你对这个事物有了比较深刻的体会与认知,形成比较深刻的记忆。通过这个阶段的不断的实践,会越来越理解之前的Do What,Why,理解更加的深刻。
- How:
这个事物是如何运转的?怎么回事呢? 在实践之后对事物更进一步思考,开门迈入高级的大门了。对于不同事物我觉得对这个阶段要求是不一样的,对于比较透明的事务,比如自行车:你可以在边实践的时候就能够体验其中的奥妙,而对于我们常用框架工具,却不易涉及过深,基本当你可以熟练使用某一个框架的时候,基本就是忙着日常的工作需求,而没有必要就深究其原理,即:我不必知道其中的奥妙,我会使用即可这也体现了封装、分层的思想。
分享 IT 技术和行业经验,请关注-技术学派。