如何快速了解并开发项目
刚入职的小明,满怀期待,而又有些不安。期待的是自己已经成为一名开发人员,自己也可以在软件行业大展身手了;不安的是,小明对即将分配的工作任务一无所知。不一会负责自己的组长来了。
组长问:小明你使用过 Angular 框架吗?
小明说:Angular 是什么?
组长说:哦,看来是没有用过。Angular 是一个前端框架,具体的我就不详细和你说了,自己下去学习学习吧!
热心的组长帮助小明搭建好了开发环境。
组长说:现在我给你分配一个任务。这是一个简单的查询保存,你可以参考这个页面。
组长说了一大堆,可小明什么都没有听懂,只是隐约的听到了一些路由、上下文之类的东西。然后就没有然后了。
组长走后,小明就陷入了深思,什么是 Angular?如何使用?组长刚才说了什么?完了…啥都没听懂
小白打开项目,看着满屏的文件和符号。小白再一次陷入了深思…
打开一个 html 页面,小明自豪的想,哦,原来有我认识的 body、div、a 标签,但标签里还有很多其他不认识的符号。
小明又回想,刚才组长说什么路由,什么跳转来着。完了完了,由于小白之前根本没有接触过这些,所以小白根本不知道,该怎么办,接下来要做什么。
需求分析
小明想:不如先明确一下需求吧!这是一个查询保存,先将它分解成一个个步骤并写了下来,而且写得极其详细。小明知道,这样在写代码的时候就会轻松很多了,思路清晰,直接用代码翻译一下就可以了。而且,他知道提前写好每一步需求,还可以防止在正式写代码时,大脑断片,或者遗忘某些细节。就这样小明很快的分析并写下了这个模块的具体实现步骤。
文件结构
小明很激动,哦哦哦,马上要写代码了。但是在写代码前自己还需要知道代码要写在哪里。哪些文件写什么代码,其作用是什么。这时,就需要熟悉一下项目的文件结构了。作为一个新手,小白只需要知道要完成某个模块的开发,需要涉及到哪些文件,这些文件又都是用来干什么的就行了。后续有时间再学习了解一下其他文件都是用来做什么的。
小明通过仔细研究,外加询问,终于知道了 Angular 由于是一群后端程序员开发的,所以也采用了分层的思想。xxx.html
文件用来写页面;xxxCtrl.js
文件用来处理 html 页面的数据的;xxxService.js
文件用来实现前端和后端的交互,xxxCtrl.js
通过调用 xxxService.js
文件里的方法来将前端数据发送到后端;以及 route.js
路由配置,通过 route.js
将 html 文件、Ctrl.js
文件建立起联系,通过在 route.js
文件中配置的路由,浏览器可以访问到对应的页面。后端用到了 controller
、service
、dao
、model
文件。controller
文件用来接收前端请求,并返回结果;service
文件用来写一些业务逻辑的处理;dao
文件用来操作数据数据库,实现对数据的增删改查;model
文件用来创建 Java 对象,定义和和数据库对应的一些模型等。
诸如此类,项目不同,所需要的文件可能会有所变化,但只有明确了各个文件是用来做什么的,我们才能知道代码要写在哪里,不同文件的代码各起什么作用。
复制黏贴
对于从未接触过 Angular 框架的小明来说,第一次看项目代码,真的是有一种看天书的感觉,什么都看不懂啊!然后小明打开了“菜鸟教程”,偷偷花了几个小时把菜鸟教程从前到后浏览了一遍。小明发现只要你对语法有大体的了解,就可以复制黏贴代码了,或者仿写,像拼积木一样把代码组装起来。当然,小明也知道 cv 操作,只是为了快速开发项目,如果想要成为一名优秀的程序员,在时间允许的情况下,能敲还是要多敲一敲代码的。
在 cv 的时候,由于小明大片的复制黏贴,最后出现了各种莫名其妙的 bug,小明都不知道到底是哪里错了,排查了半天错误,还是没有找到,也不知道该怎么找。然后嘚嘚嘚跑去找组长,经过组长排查,原来是因为某些内容漏写,还有包导错问题引起的。通过这个教训,小明再也不敢大片大片的复制黏贴了,要不然出了问题都不知道问题出在了哪里。小明建议,cv 时,一块一块的进行复制黏贴,用到哪里就 cv 哪里,然后修改对应的代码为自己想要的内容。cv 一时爽,小明可不傻,只有有时间手敲,那小白一定会手敲代码的。
先跑通流程,再细化内容
在写代码的过程中,总会遇到卡在某一步的可能。小明做保存的时,在使用 Angular 向后端发送请求的时候,后端怎么都接收不到。由于前端要保存的内容比较多,而且有各种校验,这就使得小白每次保存时都需要填写模块里的内容。而且在参考其他模块时,还会遇到一些自己看不太懂的内容,小明觉得都可以先注释掉。
小明觉得在写代码的时候,或者 cv 别人的代码时,可以先把重点放在跑通流程上,注释掉一些多余的内容,减少其在跑通流程时对于自己的影响和干扰。先把流程跑通后,再细化其他内容的做法,也可以在某种程度上快速定位细化内容时产生的错误(流程跑通后,可以一边新加内容,一边进行测试)。
30min不懂就要问
在项目开发时,总会遇到一些自己难以解决的问题。小明建议,遇到问题不要直接去问,一些简单的问题尽量自己解决;也不要一直死扣,项目开发时间其实是比较紧的,那些对于自己来说比登天还难的问题,也许让其他人一点你就知道问题的根源了呢。基于自己对这个问题已经思考过一段时间了,当别人帮助你解决之后,你也会对这个问题有很深的印象。
归纳总结遇到的问题
遇到问题当然要问啦。当然同一个问题也不要多次问别人,这样做真的不太好哦!遇到问题还是要多思考,多总结,这样之后再遇到类似的问题自己也能够快速的解决,而且不断的总结也能提升自己解决问题的能力。
空闲时间查漏补缺
小明在工作中和别人交流时,会听到这样的想法:不需要系统的学习,学了也会忘记,工作中,哪里遇到问题,然后百度查就可以了。小明觉得,对,学了之后如果不用肯定是会忘记的。但还是要抽时间系统的学习,毕竟第一次接触和已经学过了再回顾还是有很大的差别的,这也算是未雨绸缪了吧。
对于刚入门的同学来说,小明觉得看视频可能会更容易理解相关的内容,然后再看一些教程、文档、书籍,能让自己的基础更加巩固,所学的内容更加系统。
以上仅是小明入职以来一些感悟分享,希望对大家有所帮助。
标签:
相关文章
-
无相关信息