标签:解决问题 工程 配置 冲突 date sim 要求 其他 asi
RT:本文仅适合开发萌新。
背景:
8月,同学们陆陆续续开始进入职场,好多同学进入职场后,都会有一些抗拒,不知道如何融入项目,不知道怎么去进行开发。这里分享一下我初入职场时的一些学习方法和感受,希望能够对大家有所帮助。
求知欲,是你前进的动力:
首先,初入职场,最开始需要做的,就是熟悉组内的工作。这句话听起来简单,但是做起来却很难。一般大公司都会有自己的wiki,那么从wiki上获取资料,就是一个不错的学习方式。其实这种学习方式和编译器的工作方式类似,先有词法分析,而后才有语法分析。也就是说,要尽可能去理解你接触到的一些专业词汇,比如招聘系统中的简历和投递的区别,订单系统中的订单状态等等。开需求会的时候,即使不能理解其他人说的内容,也要尽可能去听,这个过程其实和英语听力类似,高频词汇记下来,然后可以去查,去问。
技术和业务究竟哪个更重要?
相信每个初入职场的小伙伴都会有这样的疑问。首先解释一下技术和业务。比如一个招聘系统。HR阅览简历之前,要将简历打标,看简历的投递人是否在黑名单内,这就是业务。而这个过程中,可能涉及到查库,查缓存,渲染模板引擎等等,这些就是技术。孰轻孰重?只能说都重要,技术一定是服务于业务的,虽然业务可能在你找下一份工作的时候,不会提供过多的帮助,但是却能决定你这一份工作能不能做好,所以学好业务,是十分重要的,一定不要去排斥业务。
软件工程or编程艺术?
可能软件开发是一门艺术,但是对于像我这样的普通人而言,软件开发更像是一门工程,这就要求我们细心,严谨。有代码洁癖,懂代码规范(此处推荐阿里规约,不要只是下一个插件去check代码,而是要将这些规范烂熟于心),写单测。遇到问题不要去猜,要学会debug和看日志。
好啦,废话说了这么多,接下来就是我们如何去快速上手公司项目:
项目的“前驱结点”:
在熟悉项目之前,有一些准备工作是一定要事先做好的:
- 熟悉编程规范。
- 熟悉编译器(包括一些常用的快捷键,学会debug)
- 熟悉操作系统
- 学习如何查看系统日志
- 学习git或者SVN
- debug和看日志,是解决问题的有效方式,现在的系统大部分都会用svn或者git记录版本,所以一定要学习如何去使用。不然push错代码,或则是产生冲突,把别人提交的代码覆盖了,就会比较尴尬,会影响整体的代码提交。
程序源于生活
这句话的意思是在理解业务的时候,可以去试着将自己带入一种情景,站在用户的角度上,再去理解业务,多问自己这个程序为什么要这么做,这么处理有什么好处。还是以招聘系统为例,想象一下自己的投递是如何被处理的,自己的面试信息是如何录入系统的,是如何被录用的。这样一来就可以对系统有一个较为直观的认识。
运行代码,是开发项目中的Hello World!
一般你的leader会给你一个git地址,让你去网站上将项目down下来,然后你需要对自己的编译环境进行配置,如果你们项目中使用的是Maven对jar包进行统一管理,别忘了要一下Maven的配置文件。
首先接触项目最开始要观察的,一定是项目的结构,看一看用了哪些技术,对项目有一个初步的认识。接下来就是运行项目了,如果你的项目是有页面的,那么恭喜你,至少从直观上而言,你的项目较为直观(可以通过触发事件,来观察效果)。
你可以通过点击按钮,触发事件来走一下代码逻辑,看一看数据是如何存储如何处理的,但是这里值得注意的是,并不是一定要每一个方法都点到最深层去看,可以先大体看一下代码逻辑,比如遇到xxxDao.queryDate(obj),就知道他应该是一个查库的操作,具体是如何操作的,是单表操作还是多表操作,我们可以暂时忽略,先走一下大体的流程,等到流程跑通了,再回来看细节即可。但是这里要注意的是,去读代码之前,一定要对这个系统有一个大致的了解,知道它分哪些功能,每个功能大致是如何处理数据的。然后再去有选择的读代码,先读主流程的代码,比如一个订单系统,要先看成单时的逻辑,不要直接看支付的逻辑,要保持系统整体逻辑的连贯性。
这里简单说一下如何看前端调用的哪个后端方法(SpringMVC):
一般前台将数据提交到后台的方式有两种:form表单提交和Ajax提交。
from表单可以看一下对应<form action="xxx">中action属性的值,这个是前端将数据提交到后台的地址,我们可以全局搜索这个xxx,来查找这个请求是哪个Controller进行处理的。
Ajax提交是通过xmlHttpRequest对象将数据发送给后台Controller的,这时就需要你具备一下js或者Jquery的知识,看一下ajax发送请求的路径,然后再去找对应的Controller处理。
如果你的项目启动起来发现是这样的。那么可能你就需要花费更多的时间去理解项目了,因为你的项目维护的可能只是一堆接口。
读系统的方法与有界面的系统类似,这里一定要先看主流程部分,找到程序执行的源头,然后顺着去理解。
工具推荐:
给出一些绘图效果:
是不是很棒,感兴趣的同学可以去研究一下。
怎么写代码?—— 抽象、确定边界
写代码首先就要是明确需求,这个是需要反复确认的一个过程,一定要保证开发出来的东西是产品经理真正需要的,其次就是学会将业务模型,抽象成解决方案。将写代码的过程现在脑子里过一遍,这里也可以画画图。
编程其实只是开发中的一小部分。编好的程序一定要经过充分的自测再进行提测。最后的最后一定关注后续,自己开发出来的功能有没有人使用?使用起来有什么问题?如果是跨部门完成的需求,其他部门的进度如何?这个功能最终展示在线上是什么样的?这些都要考虑清楚。
进击吧!职场小白!(萌新指南+好工具推荐)
标签:解决问题 工程 配置 冲突 date sim 要求 其他 asi
原文地址:https://www.cnblogs.com/nedulee/p/11839289.html