这几天公司逐渐全面复工,项目开发的排期越来越紧张,导致最近更新文章的频率降低。今天的空想跟大家聊聊开发这点儿事儿。
做程序开发什么最重要?今天我们从技术、需求理解、思维逻辑,以及开发过程中解决问题的能力几个方面来聊这个问题。
技术在开发环节中所起的作用
相信很多人都会说,技术,肯定是技术水平咯。
这样理解也没错,毕竟是互联网开发,跟计算机打交道首先你得会计算机语言(开发语言)。单然这里用计算机语言是不够精确的,请允许我这样称呼它吧。
技术是进入程序开发世界的第一道门槛,没有它谈何开发。技术水平的高低可以说直接影响你开发的效率及开发出来项目的可靠性,稳定性及你所能涉及到的领域空间。
领域空间?可能有人不太理解这句话,比如你会css+html,那你只能开发一些简单的静态网页,如果你在会一点儿js那么你就会在原有的基础上开发一点儿酷炫效果的伪动态网页。只会这些的话,你涉及的领域空间就只能是静态页面。这远远是不够的,如果你再会一种后端开发语言,比如python或者java或者.net那么恭喜你,你的价值以及你的行业前景有了质的飞跃,你不单单只适合开发静态页面了。你可以做动态网站,可以做高级程序员,可以开发app,开发小程序,开发游戏,开发桌面应用程序等等,如果你水平再厉害的话,你可以上天,参与国家高科技开发,甚至航天系统。
所以作为开发人员首先要修炼的就是技术这一关,功底一定要扎实过硬。
需求理解
聊完技术我们来聊一下实际开发中会碰到的第一个问题:需求理解。
我们日常的开发项目不是随意开发的,是有流程有需求的。比如公司从事电商行业,需要开发一套线上店铺。这个任务交给你的话你要怎么去开发。会不会拿到这个项目上来就直接coding,如果你真这么做了,相信你coding出来的只能是两个单词Helloworld!
正确的做法不是着急着去codiing,而是先冷静地分析这个项目,深入透彻地去理解这个店铺是干什么的,怎么使用以及店铺怎么展示商品,除此之外还有没有隐藏的一些功能点。当你对这个店铺需求有一定了解,做到心中有数的时候再去coding,相信你一定会事半功倍,思路,众享丝滑般流畅。
可以说你对需求理解的有多深,关系到你开发出来的项目有多健壮,精致和完善。
思维逻辑
说到思维逻辑,我个人认为它是程序开发中最重要的一项技能。重中之重。
为什么这样说呢,思维逻辑从始至终贯穿整个开发环节,无处不在。一个拥有很强思维逻辑的程序员,你去看他的代码一定很享受,思路清晰不冗余,代码整洁层级关系明显,便于后来人维护管理。好像有本书叫编码的艺术,编码能够跟艺术挂钩,不看书的内容大胆猜测他所讲的一定是编程思维。
我们还是结合上面那个开发店铺来聊一下思维逻辑在项目中的简单体现。
程序员开发项目,首先得有产品经理提供的原型图,原型图会让你知道这次开发的项目开发出来后张什么样子,都有哪些功能。可以说原型图就是最终的产品。大家先知道有这么个开发流程,后续我会单独写一篇文章讲解一下我理解的原型文档该是怎么样的。
我们拿到原型图之后,知道了最终产品张什么样子,有哪些功能后,程序员需要做的是分析它的实现方式,交护方式,以及结构层级关系,涉及到的数据库字段,见表信息等等。因为产品经理不懂技术,所以这些隐含的关系需要我么自己去梳理的。
比如这次开发的店铺有个商品展示列表页。你一看原型图明白了,这不就是把所有的商品都遍历出来罗列展示一下嘛,然后就习惯性的过了,当你在见表的时候见了一张商品表用来存放每件商品,后期你会发现这样不对,商品应该有分类,一个商品类型下面有多种商品。比如化妆品这个类型下面有很多商品,如香奈儿,杨树林其它。所以这个商品表区分不出来类型,这样设计还不够你得在商品表的基础上抽象出来一张商品类型表。嗯,大功告成接着开发吧。做着做着发现,每个类型都有专门的人去管理,目前的表结构不能实现分人去管理的需求,还得改动,然后又见了一张人员和商品类型的关系表。
单纯这个见表流程走下来,你会发现你的思维逻辑多细腻,对需求文档理解多透彻,就会在你后续的开发过程中带来多大的便利。如果这个环节你少了一张表,比如少了商品类型表。你开发了一半才发现,这时候对你开发进度,项目结构是有很大影响的,称得上是伤筋动骨,牵一发而动全身。跟严重的话,有可能会推到重新做。所以为什么说思维逻辑的缜密细腻度,直接影响项目的成败。
如果让我面试一枚程序员的话,我会把思维逻辑作为他是否胜任这份工作的首要筛选条件。
解决问题的能力
在实际开发过程中,无论你技术多牛,相信你还是会碰到一些形形色色的问题,如果碰到的问题是你压根没有见过的,这个时候该怎么办。
百度查呗,这是毋庸置疑的,百度一顿搜索,怎么搜呢?这是个问题。
比如现在有个问题,前台提交Json数据到后台,发现有丢失属性字段的情况。这个问题怎么百度搜索,输入”提交json属性丢失出来很多内容
然后你看哪个是你想要的,结果发现导致json属性丢失的情况很多,那怎么办呢。这时候就靠我们分析自己碰到这个问题的场景了,首先是post提交json数据,然后后台用java接收的,出现丢失字段是在post过程中还是在java接收的时候导致的?这样一分析我们就可以主要从两个方向去找答案。
第一个就是post过程中,那就是中间媒介浏览器,查找一下浏览器对json数据有没有过滤字段的规则。
第二个就是java接收数据的时候有没有默认过滤数据的规则。
相信一定会有其中一个导致的丢失字段。
最后
综上来看,你会发现思维逻辑起到的作用是关键性的,培养自己的开发能力,不如培养自己的开发思维,思维决定行动,行动决定产品,产品决定用户,用户决定公司的市场。