java读代码步骤
一、读代码的步骤
1、知道代码时用什么IDE开发的
2、将代码导入到IDE
3、连接数据库
A)连接到测试数据库
B)有sql脚本,在本地创建一个数据库,执行脚本,建立数据结构和导入数据。
4、尝试运行这个项目(如果能运行,如果能运行后面就容易了)
5、整体上了解这个项目
A)使用的框架
B)项目总体文件结构
C)项目的模块划分
D)结合需求进行整体对照分析
1>能找到页面对应的代码是哪些
2>能找到需求对象的页面有哪些
E)项目的开发规范是什么(如果给的文档更好)
6、找到与自己接下来工作有关的模块、页面
A)详细地按照用户的使用流程一步步阅读源代码,将源代码与业务流程对应起来
B)阅读的步骤:视图-->控制器-->模型-->数据层-->数据库或者反过来
Tips小技巧:
1.阅读代码时要有类型意识,任何变量、参数都要知道它的类型
2.要有OO设计意识
1>对于公司自己编写的类要明确它的继承关系
2>要明确类(包含父类及父类的父类....)的主要成员
3>如果项目中定义的有接口和抽象类一定要格外重视
4>了解并探究类与类之间的继承之外的其他关系
i. is
ii. has
iii. Use
除了在心里理解代码之外,还要能够在嘴上表述代码
能够听懂老师讲的代码,听懂
同学们之间讨论代码时有一个共同语言
工作的时候会说行话
java读代码步骤的更多相关文章
- Java native代码编译步骤简书
Java native代码编译步骤简书 目的:防止java代码反编译获取密码算法 (1)编写实现类com.godlet.PasswordAuth.java (2)编译java代码javac Passw ...
- Java读源码之ReentrantLock(2)
前言 本文是 ReentrantLock 源码的第二篇,第一篇主要介绍了公平锁非公平锁正常的加锁解锁流程,虽然表达能力有限不知道有没有讲清楚,本着不太监的原则,本文填补下第一篇中挖的坑. Java读源 ...
- 分享:根据webservice WSDL地址自动生成java调用代码及JAR包
分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...
- FastDFS搭建及java整合代码【转】
FastDFS软件介绍 1.什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高 ...
- 在Jmeter中使用自定义编写的Java测试代码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...
- Java读properties文件中文乱码问题的解决方法
java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 ...
- java读properties文件 乱码
java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 ...
- 用Eclipse进行java学习的步骤
用Eclipse进行java学习的步骤(1)File,new,File Project->在New Java Project页面的Project name文本框中填入名称,点击finish(2) ...
- 自定义编写jmeter的Java测试代码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...
随机推荐
- PCI总线 DMA burst 基本概念
转载地址:http://blog.csdn.net/sunjiajiang/article/details/7945057 DMA和burst不是一个概念. DMA传送不经过CPU的控制,假如硬盘的数 ...
- QT 5.7.0 移植之 tslib 编译配置
QT5.7 编译请参考:http://www.cnblogs.com/chenfulin5/p/5798764.html 最新的 tslib 是从他的 github 下载下来的. 地址是:https: ...
- [Linux]read/write和fread/fwrite有什么区别
转自:http://blog.csdn.net/xiaofei0859/article/details/51145051 二者都是对文件进行操作,那么二者有什么区别,用的时候该如何选择呢? 1. 区别 ...
- RP2837 IN1-IN2 对应关系 2路DI
RP2837 IN1-IN2 对应关系: IN1 ARM-IO2 PA16 IN2 ARM-IO6 PA4 root@sama5d3-linux:~ echo 16 > /sy ...
- [Python基础]Python中remove,del和pop的区别
以a=[1,2,3] 为例,似乎使用del, remove, pop一个元素2 之后 a都是为 [1,3], 如下:http://Novell.Me >>> a=[1,2,3] &g ...
- LVM简介
3. 创建VG.. 7 4. 创建LV.. 9 5.LV格式化及挂载... 10 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauel ...
- STUN协议简析
http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...
- 抹掉Scala的糖衣(14) -- Update Method
欢迎关注我的新博客地址:http://cuipengfei.me/ 在Scala中,名字叫做update的方法是有特殊作用的. 比如: 1 2 3 val scores = new scala.col ...
- oracle oci 调用 1
http://blog.163.com/earth_of_fire/blog/static/1368943200791211622278/(总结) http://blog.163.com/earth_ ...
- javascript -- 阻止默认事件 阻止事件冒泡
1. event.preventDefault(); -- 阻止元素的默认事件.注:a元素的点击跳转的默认事件 , button,radio等表单元素的默认事件 , div 元素没有默认事件 例: ...