- 写作背景
做系统维护相关的工作有快两年的时间,在这期间,其中有些心得体会,想通过这种方式,开始渐渐的记录起来,以来作为自己的知识储备,二来呢,算是一种人生成长轨迹的描绘吧.
本人在技术上是菜鸟中的菜鸟了,尤其是在看别人代码时,总会略显吃力,真正开始修正的时候,偶尔会有些不知所措,有些时候,一不小心,就踩到地雷.引得群雷乱响,自己呢,被炸的面目全非.
其实,在做系统维护的工作中,才能切身体会到,基础知识的重要性,其中课堂里面,老师不经意间的讲起知识点,对于使用来讲很是重要.尤其是,后人在看前人的代码时,真是觉得,垒码是一项良心工程,更是一项技术工程 - 类的生命: 还有关注?
class Animal {//包内可见
}
public class Animal {
}
以上两种各生命方式,还有注意到
对于通过IDE默认进行类的创建的,可能并没有对以上两种方式做出过太多的关注,IDE会默认帮我们将class生命为第二种方式,其实二者的区别在于是否对外部进行公开(其中的外部指的是以package级别的限定)
这一点的重要性在于,对于代码维护来讲,每当对代码进行修正,可能比较困难的一点在于对其影响范围的鉴定,例如:
D
^
|
A --> B --> C
当A作为Bean级别进行存在时候,当我们对其中的javabean时候,我们需要对B,C,D开发单元做出鉴定,以免因为修正引起模块间的间调用出错
当原始的开发者能能够很好的使用两者声明方式的时候,对于后期的维护的成本的控制是很节约的,修真者在一定程度上,减少了修正量,尤其是对于刚刚迈入职场的菜鸟来讲。
JAVA中的疑问
- java 现有机制中存在着package级别的访问权限,难道就不存在更大代为级别的权限控制吗?比如说jar级别的权限管控,对外暴露越少,相对来讲内聚性越强,可控性越高
- 通过反射机制修改class的访问权限,是不是比访问private域,更加令人感到困惑