关闭

第3,6,7,10章读书笔记

65人阅读 评论(0) 收藏 举报
分类:

第三章函数

3.1 短小

函数的最重要的原则说三遍:短小、短小、短小。

if,else,while等语句,代码块应该尽量只有一行,且此行是一个函数调用语句。函数名应该具有说明性,增加文档的价值。

例:JDK源码:

private static inthugeCapacity(int minCapacity) {
        if (minCapacity < 0) //overflow
            throw newOutOfMemoryError();//此处可以猜测是抛出内存益出相关错误。
        return (minCapacity > MAX_ARRAY_SIZE)? Integer.MAX_VALUE :MAX_ARRAY_SIZE;
}


3.2 只做一件事

函数应该只做一件事。判别方法:是否可以再拆分出一个函数。

3.3 每个函数一个抽象级别。

函数的语句都要在同一抽象层次级别上。例如经典的MVC模型,就是一种抽象级别分离的方法。

自定乡下读代码:向下规则

读程序方法:程序就像一系列TO起头的段落,每一段都描述当前的抽象级别,并引用下一层的抽象级别的段落。

3.4switch语句

抽象工厂设计模式。

3.5 使用描述性的名称

别害怕长名称。具有描述性的名称比段而小令人费解的名称好。

例 c = a*b 应改为result = multiplicand *multiplier,增加可读性。

命名方式要保持一致。

3.6 函数参数

函数参数越少越好,最理想是没有参数,尽量避免三个参数。参数少有利于测试。

ArrayList源码中的方法基本都是不多于一个参数


   如果参数需要二个或者三个以上,可以将其中一些参数封装成类。

比较:

Circle  make Circle(double x,double y, doubleradius);
Circle  makeCircle(Point center, double radius);


3.8分隔指令与询问

函数要么做什么事,要么回答什么事。

3.9.1 抽离try /catch代码块

将try/catch代码块的主体部分抽离出来,另外形成函数。


3.10 别重复自己

3.11结构化编程

Dijkstra规则:每个函数,函数中的代码块应有一个入口,一个出口。且只有一个return语句,循环中不能有break,continue语句,永远不用goto语句。

小结

函数是语言的动词,类是名词。

第六章函数

6.2数据对象的反对称性

过程式代码便于在不改动既有数据结构的前提下添加新函数。

面向对象代码便于在不改动既有函数的前提下添加新类。

6.3得濹忒耳律

模块不应了解他所操作对象的内部情形。

第七章错误处理

错误处理不应搞乱代码逻辑。

7.1使用异常而非返回码

预见异常时,不应出现 print(“xxy异常”)活者return null这种形式

应采用抛出异常的方式

Ex:

private void rangeCheck(int index) {
       if (index >= size)
           throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}

7.7 别返回null值

7.8 别传递null值

 

第十章 类

10.1 类的组织

Java约定,类应从一组变量列表开始。如果有公共静态常量,应该先出现。然后是静态私有变量,以及私有实体变量.很少会有公共变量。

10,2 类应该短小

类的名称应当描述其权责。

单一权责原则:类或者模块应有且只有一条加以修改的理由。

类应该只有少量实体变量。

每个变量被每个方法所使用,称该类具有最大的内聚性。

10.3 为了修改而组织

对于多数系统,修改一直持续。

0
0
猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2329次
    • 积分:163
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:9篇
    • 译文:1篇
    • 评论:4条