可能不管新手老手有些程序员,接手一个项目之后都会多少有些迷惘。 以下是本人总结出来的一点小心得,如果错误希望大家给我留言,一起讨论:

最重要的事儿

如果你总是看见代码多就发愁,看见代码脏乱差就诅咒埋怨,看见代码逻辑复杂就头疼,搞不清调用关系就放弃,那你可能永远也变不成代码的主人,只能一次又一次被代码蹂躏。

所以,其实交接代码最重要的事儿,就是:

不要被浩渺如烟并且陌生怪诞的代码吓得不敢动弹,现在就开始读,立刻,马上,坚持十分钟,再坚持十分钟,你就能妙悟真谛

【注意心态】:不要以追求完美的心态去接手项目,不要试图搞懂整个项目。

千万不要找到对应的控制器方法,一行一行读代码!!!!因为过去的功能已经完成了,需要修改该功能时,你才需要读过去的代码,方便修改。即使遇到不会使用的框架也不要紧,你知道业务逻辑后,可以直接写原生。

要的是结果(老大要功能以最快的速度做出来),以任务为第一。让自己的价值先绽放出来,而不是自己的研究学习能力。否则,会出现,你研究了整个项目的框架结构,熟知了所有的技术要点,却被无情的踢了出来,因为你的价值并没有表现出来。先站稳,再向上爬。必须对即将进行的阶段学习有个预估

接手方法:不变应万变

1.项目维护有三宝:沟通 、文档 、代码跑。目标:了解业务逻辑流。

这三点很好理解,初步接手要请教前辈给你点一点业务重点、难点,让自己熟悉下;接着就是看系统的文档了,可以让自己迅速的了解整个项目的方方面面;最后就是走代码,因为前辈的指点可能有误,文档的书写可能有漏,作为一个优秀的程序员只相信自己走的代码,用自己的代码去验证文档,才是最正确的做法。文档只是给了你方向。走代码才能真实的了解具体的业务逻辑

2.重点攻击:数据结构+ER模型。目的:熟知项目的数据结构关系。

其实从事多年的老鸟可以发现,不管是C/S或者B/S,怎样的开发最后都是无非是底层数据库的数据排列筛选好后传递到前台。所以对待一个新的项目,去研究它的数据结构和库表是很有效的。这就要求我们对数据结构这块进行深入研究。

项目出活四部曲,跟、改、理、测要一起。

  • 跟:抓住一个功能点,深入的调试跟踪流程,分析代码直到弄明白为止。
  • 改:修改源代码,编译运行,看修改前后有什么变化,这是感知代码用途的最佳途径。
  • 理:尝试弄清整个项目的业务逻辑
  • 测:熟悉业务逻辑后,清库测试,测验是否符合自己所想。

维护实用技巧:

  1. 任何举动要备份
  2. 修改代码涉及到很多的依赖,所以新增代码相对而言风险较小。(时间充足:对方法进行包装或者重写,甚至是直接修改)。
  3. 多和原设计人员交流;

总结:要不停的试,不停的改

通用步骤:

1、找nginx的配置文件,看看项目放在服务器的哪个地方(由于是接手多个项目,都是以虚拟主机来放的)| 5分钟

2、找对该项目熟悉的产品经理或同事(也包括测试)给你演示一把怎么用,顺便请教下主要功能。 | 30-60分钟

分开问,软件不会用,讲逻辑找产品; 某些技术、代码看不懂,问搭档; 整体项目的把控问项目经理; 3、小试牛刀:先熟悉软件的前后台各种操作,能体验的都体验一把(尝试修改某个功能,有好多个环境,在本地改)。

4、记录项目中该领域的专业词语,找机会和同事请教,弄懂这个词在这个领域是个什么概念

思路1的具体步骤(从上而下)

5、打开f12看network找他前后台菜单中对应的控制器(有的请求是在html中用a标签跳转的)。找到每个功能的对应的【增删改查】或每个功能对应的方法名称。如有没见过看不懂的罕见写法,查该版本的手册,切记,统一框架不同版本的同一个方法用法可能都不一致

6、看他每个功能对应的控制器方法中的sql语句的构成

7、通过echo打印原生的sql语句(TP框架,拿sql语句的对象->getLastSql()),看查出来的结果是什么,及通过视图渲染到页面的数据

8、看他的数据库设计,先在心里把表分个类(如 用户的、商品的),然后找外键关系

9、不要看完就了事,看完是记不住的,过俩天也都忘了。在旧项目中新建个控制器,模拟个功能点,模拟人家写的方式,自己写套增删改查操作数据库,展示给页面

思路2的具体步骤(从下而上)

1、先看公共函数库,传正确和错误的参数,分别测试,看出来的是什么东西。不要看函数中的每一行代码

2、多层继承的话,看他父类,父父类中,大概都有哪些方法,这些方法是做什么的,在心里记个大概

3、看控制器方法中,打印最后的结果,然后看视图层,是怎么展示的

读者福利:

分享免费学习资料

针对于Java程序员,我这边准备免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

资料领取方式:加入Java技术交流群963944895,私信管理员即可免费领取

程序员怎么快速接手一个项目相关推荐

  1. 程序员怎么快速接手一个项目-接手项目指南

    目录 维护项目 最重要的事儿 接手方法:不变应万变 维护实用技巧: 项目的常见套路 熟悉项目的套路 vue 项目 快速梳理大型vue项目整体架构技巧方法总结 快速熟悉内部组件模块技巧方法总结 提升工作 ...

  2. *【思路】程序员怎么快速接手一个项目

    可能不管新手老手有些程序员,接手一个项目之后都会多少有些迷惘. 以下是本人总结出来的一点小心得,如果错误希望大家给我留言,一起讨论: 最重要的事儿 如果你总是看见代码多就发愁,看见代码脏乱差就诅咒埋怨 ...

  3. Java如何接手别人项目_程序员必备技能——怎样快速接手一个项目

    作为一个程序员,我们很少能从头到尾参与一个新项目的开发.如果你经常开发的是新项目,那你真是太幸福了. 更多的情况是半路进入一个项目组进行开发,或者是有其他同事离职了,之前由他维护的系统转交给你维护. ...

  4. 程序员如何快速上手一个自己不太熟悉的新项目

    程序员如何快速上手一个自己不太熟悉的新项目 在知乎上看到的,由作者Jim Jin(奔四老码农,只想做点有意义的事情)写的. 原文出处:http://www.zhihu.com/question/388 ...

  5. 程序员如何分分钟搞垮一个项目?

    大家好. 有句话这样说来着,幸福的家庭都是相似的,不幸的家庭各有各的不幸, 这句话放到咋们互联网程序员上也是一样的. 大神级程序员都是相似的,而菜鸡程序员却菜的各有千秋,分分钟能搞垮一个项目. 程序员 ...

  6. mysql怎样搞一个项目_程序员如何快速上手一个自己不太熟悉的新项目?有什么技巧?...

    不知道你有没有经历过一个五年或者更长工作年限的开发人员半路加入团队的情况,可能第一两个星期他会问一些业务或者技术问题,不过一两个月他就可能在指导那些初级开发人员了. 什么原因呢?因为他已经从过往经验里 ...

  7. 如何快速接手一个 Java 项目

    新入职一个公司或者中途介入一个新项目时,最初的工作就是熟悉项目结构.那么,在职场或者学习过程中,如何快速接手一个项目呢?答案就是夯实基础技能,理解 Java 项目的本质,了解常用技巧,胸中有丘壑,方能 ...

  8. 【知乎】怎么成为一个优秀的程序员,而不是一个优秀的码农?

    怎么成为一个优秀的程序员,而不是一个优秀的码农? 9 条评论 分享 默认排序按时间排序 98 个回答 3844赞同反对,不会显示你的姓名 萧井陌 微信公众号:炼瓜研究所 技术社区 - 3844 人赞同 ...

  9. Maven初探-如何快速入手一个项目

    这已是一个工具的时代,而不是一个到处搜集JAR的年代,如果还在为搭建一个项目而到处找依赖,那你就彻底OUT了.下面,跟各位一起重温学习下Maven. 什么是Maven Maven项目对象模型(POM) ...

最新文章

  1. VS2017读取ini 文件中文乱码
  2. 快速了解 UML 类图
  3. 利用js实现popup弹窗
  4. Linux更改显示管理器,聊聊Linux操作系统中的显示管理器及如何更换
  5. 线程与消息循环的关系
  6. pla3d打印材料密度_口腔修复体制作用3D打印金属粉末的成型工艺与性能控制要点概述...
  7. 关于用函数指针参数申请动态内存的问题
  8. java 数据库 properties_原生Java读取properties连接数据库
  9. spring事务 jdbc_Spring事务管理示例JDBC
  10. 用C语言递归实现火车调度算法详解
  11. 二维数组定义及初始化
  12. 数据分析之数据透视表(Office2019)
  13. vue3学习笔记一:createApp, ref, reactive, onMounted,computed
  14. cocos2dx游戏中添加背景音乐、音效
  15. 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(1)
  16. hp服务器装系统键盘没反应,u盘装系统f12没反应怎么回事|u盘装系统按f12没反应怎么解决...
  17. 高德地图看各省分界线_从高德采集最新的省市区三级坐标和行政区域边界,用js在浏览器中运行...
  18. 在win10系统中安装Visual C++ 6.0的具体方法
  19. 【笨木头Cocos2d-x 042】一个函供应多个菜单回调——UserObject自定义数据
  20. 彩虹代刷源码+支付接口 搭建教程

热门文章

  1. MATLAB 数值求解方程根
  2. Customizable constraint systems for succinct arguments学习笔记(2)
  3. 微信公众号热门关键词的搜索排名规则
  4. 蓝桥杯实战应用【算法代码篇】-耐摔指数(附Python、Java和C++代码)
  5. Java微服务——SpringCloud实战篇2:整合Gateway、Config、Bus
  6. BUUCTF 萌萌哒的八戒 1
  7. 新媒体运营能做到主管级别吗
  8. 利用python将图片手绘化
  9. IE浏览器下使用localhost域名保存cookie的问题
  10. CSS布局基础(CSS浮动)