很多新手系统全套学完就业班之后,其实能力还是不错的,对常用的技术栈也都会理解,也能看得懂别人的代码、模块、架构等,但是我发现有些新手一遇到业务就非常的茫然,好像一下子就不知道怎么去写了。

1、对业务的理解,其实90%的功能开发出来的目的就是:显示,就算有其它的逻辑处理,也是为了这个显示做铺垫的,这也是很多后端和前端的工作,后端为了能够做到”显示“这个目标,需要定义好数据结构(一般单列和双列集合就可以搞定),需要进行逻辑处理转换得到需要的数据,需要返回合乎规则的数据,你如果实在不理解,就假想一下存到数据库中的数据表应该是这个样子,为了能把这一行行数据存到数据表中,我应该怎么样才能实现这个目标,这样数据存到数据库中就完成任务了,以后有的是办法从数据库中取业务数据去达成目标。

2、对数据的理解,现在很多的项目都是前后端分离或者接近于前后端分离,所以对数据的理解尤为重要,就算是以前的模板式混合开发,其实也是异曲同工,有了各种各样的数据,展现层才能利用这个数据去做一些事情,能见到的数据无非就是类似于下面这样的,为了达到这样的数据返回,你后端就必须定义一个公共响应返回类,然后data为参数传进去进行逻辑处理,然后这个data应该在后端是怎样的格式,为了达到这样的格式,我需要首先就定义什么数据结构,定义完了数据,我应该怎么样写代码把合乎规则的数据填充进去。


{
    "code": 100001,
    "message": "success",
    "data": {
        "pageNum": 1, //可省略
        "pageSize": 10, //前端传过来的参数,可省略
        "totalPage": 1, //可省略
        "totalCount": 7, //不可省略
        "userlist": [
            {
                "id": 15,
                "username": "小龙in武汉",
                "password": "$2a$10$Gk/8bByeKfEciTnXWHWtxukGKG6zASwfZ1xNtIA5LseNBzcAwYM3G",
                "icon": null,
                "email": null,
                "nickName": null,
                "note": null,
                "createTime": "2020-10-27T01:08:44.000+00:00",
                "loginTime": null,
                "status": 1
            },
            {
                "id": 16,
                "username": "小龙in武汉1",
                "password": "$2a$10$GG10gre7x3DqlWclvdpsA.k1nugTKG6kcfpptM5Lz9iMLa98nK6ru",
                "icon": null,
                "email": null,
                "nickName": null,
                "note": null,
                "createTime": "2020-10-27T01:31:46.000+00:00",
                "loginTime": null,
                "status": 1
            },
            {
                "id": 17,
                "username": "小龙in武汉2",
                "password": "$2a$10$MkWmndKluhBRrIkmU391Su7xUwZ5frg.wZEqgU9654LpKvdtaHW.q",
                "icon": null,
                "email": null,
                "nickName": null,
                "note": null,
                "createTime": "2020-10-27T01:31:48.000+00:00",
                "loginTime": null,
                "status": 1
            },
            {
                "id": 18,
                "username": "小龙in武汉3",
                "password": "$2a$10$IinIEN2CF3gyme2hf7Hy7uqo6dJsMiFSqDFJRIO/a1gm18CVp8JPi",
                "icon": null,
                "email": null,
                "nickName": null,
                "note": null,
                "createTime": "2020-10-27T01:31:50.000+00:00",
                "loginTime": null,
                "status": 1
            }
        ]
    }}


3、形参和返回值

这两个概念大家都知道,但是跟业务结合起来总是云里雾里,不清楚自己要干嘛,形参就是你需要的条件,我不需要关心这个条件是谁传的,我也不关心这个形参到底传入实参到底会长啥样,有了这个形参我才能继续干活,大不了为了完成任务或者为了不等其他的人磨叽不跟我联合调试,我自己假设定义一个符合形参的最简单的实参,然后去处理逻辑,然后去处理返回返回值,后续再跟别人无缝对接.

4、不要创新

有的新手或老手进公司,第一眼看的肯定是项目,项目的总体设计,代码的风格套路,各个模块的布局,这些都是固定好的,可以理解为:八股文,你只需要模仿他们,结构不变然后去修修改改代码,就可以跟他们一样,就可以被他们所接纳,不要自己去独创一些东西,不然就会被你的同事嫌弃的.

5、抽象思维能力一定要提高一点

抽象程度越高,你越接近事物本质.
抽象程度越低,你的思维会被各种纷乱的细节缠绕.