- 博客(10)
- 收藏
- 关注
原创 Debug调试
Debug调试Debugging的过程:重现->诊断->修复->反思Debugging的常用方法:假设-检验 收集bug相关数据,观察数据,作出bug原因的假设,决定如何验证,通过工具验证是否成立。诊断的几种策略:测量,分治,切片,寻找差异,调试器Debugging的常用手段:print,stacking tracing,memory dump,logging,断点调试...
2019-06-21 10:23:21 190
原创 健壮性与正确性
健壮性(Robustness)与正确性(Correctness)健壮性(Robustness):表示系统在不正常输入或不正常外部环境下仍能够表现正常的程度。当出错后,会退出并提示信息,或者容错并转为正常。一个具有良好健壮性的软件会让用户变得更容易,因为即使他们出错也可以容忍,因为程序内部已经有容错机制。对外部接口开放(倾向于健壮)。正确性(Correctness):表示程序按照spec加以执...
2019-06-21 10:15:21 617
原创 代码可理解性
代码可理解性代码可理解性的度量:1.所有标识符(类名、变量名、方法名等)的平均长度2.命名独特性比例3.代码复杂度4.代码行数(LoC)5.注释的密度(百分比)书写可理解性代码需要考虑的因素:1.命名规范2.代码行的最大长度、文件最大LoC3.注释4.代码的布局:缩进、空行、对其、分块等5.避免多层嵌套6.文件和包的组织...
2019-06-21 10:08:06 281
原创 SOLID设计原则
SOLID设计原则S->SRP 单一责任原则O->OCP 开放-封闭原则L->LSP Liskov替换原则I->DIP 依赖转置原则D->ISP 接口聚合原则1.单一责任原则一个类仅有一个责任,至多有1个原因使得一个类发生变化2.开放封闭原则对扩展性开放:模块的行为可扩展,从而该模块可表现出新的行为以满足需求的变化对修改封闭:模块自身原本的代码不应...
2019-06-19 18:23:58 226
原创 白盒框架和黑盒框架
白盒框架和黑盒框架从实现方式来看,白盒框架通过子类和重写方法实现扩展(继承),黑盒框架通过实现插件接口实现扩展(委派/组合)。从常用设计模式来看,白盒框架主要使用模板方法,而黑盒框架则通常使用策略模式或者观察者模式。从调用机制来看,白盒框架的子类型有main方法,但是framework拥有控制权。而黑盒框架则是插件加载机制加载插件(委派),framework拥有控制权。...
2019-06-19 18:11:01 374
原创 软件质量指标
软件内部/外部质量指标外部质量因素影响用户,内部质量因素影响软件本身和它的开发者,外部质量取决于内部质量外部质量:Correctness 正确性:按照spec执行,得到正确的结果,软件的行为要严格符合规约中定义的行为保证正确性:测试和调适、防御式编程,形式化方法(形式化语言)encapsulation, decentralization 封装、分散化Robustness 健壮性:针对...
2019-06-19 18:00:30 5259
转载 JAVA接口
Java接口接口与类相似点:1.一个接口可以有多个方法。2.接口文件保存在 .java 结尾的文件中,文件名使用接口名。3.接口的字节码文件保存在 .class 结尾的文件中。4.接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口与类的区别:1.接口不能用于实例化对象。2.接口没有构造方法。3.接口中所有的方法必须是抽象方法。4接口不能包含成员变量,除了 static ...
2019-06-09 13:12:59 88
转载 JAVA各设计模式的关键点
Java各设计模式的关键点单例模式:某个类只能有一个实例,提供一个全局的访问点。简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。原型模式:通过复制现有的实例来创建新的实例。适配器模式:将一个类的方...
2019-06-07 14:27:26 123
原创 InputStream和OutputStream
Java的InputStream和OutputStreamInputStream:它的具体操作是使用File类找到一个文件,然后通过子类来实例化父类对象,之后进行读操作,把所有的内容都读到字符数组之中,读取其中的内容,最后关闭输出流OutputStream:OutputStream表示字节输出流,可以将java程序中的数据写到文件中。 OutputStream是所有字节输出流的顶层父类,是一个...
2019-06-07 14:06:18 395
原创 JAVA垃圾回收过程
JAVA垃圾回收过程第一步:标记。垃圾回收器在此时找到哪些内存正在使用,哪些内存没在使用。第二步:清除。删掉标记处的未引用的对象,内存分配器保留指向可用内存的引用,以供分配新对象。第三步:压缩。在删除了未引用的对象后,为了提升性能,可以将剩下的已经引用的对象放在一起,这样便于以后分配新对象。...
2019-06-07 13:01:12 284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人