文档章节

java特训第一课

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:37
字数 910
阅读 2
收藏 0

软件健身操——九步迈向优秀软件设计

  1. 方法只使用一次缩进

    使得代码逻辑更加清晰,代码的可读性增强。越大的方法越缺少内聚性,通过编译器的抽取功能,可以对方法进行提炼,直到方法中只有一次缩进。

  2. 不使用else关键字##

    else语句会使得程序逻辑看起来更加复杂,形成更深层的逻辑关系,通常对于简单的else语句使用卫语句或提前返回来去掉else语句。

  3. 封装所有的原生类型和字符串

    整数,只代表一个数量,并没有实际的意义,我们需要对整数进行封装,使它变得更有意义,让代码通俗易懂。

  4. 一行代码只有一个“.”运算符

    如果一行代码中有多个“.”运算符,那就说明很多类的职责就搞混了,假设我们去电影院付钱,我们自己掏钱包给收银员钱即可,如果抽象成多个“.”的情况,就是收银员拿着我们的钱包去付钱,这明显不符合常理。封装的含义就是不要让当前类跨入它不知道的类型中。而像java中字符串处理的一些类,他们通常使用的是bulider模式,即每一次“.”运算都会返回自身,因此不存在其他类的参与,所以并不会违反此条规定。

  5. 不要使用缩写

    起名字时尽量使用全拼,提高代码的可读性,方便阅读

  6. 保持实体对象简单清晰

    超过50 行的类所做的事情通常都不止一个。这会导致他们难以理解和重用。这意味着每个类的长度不能超过 50 行。每个包所包含的文件不超过 10 个。

  7. 任何类中的实例变量都不要超过两个##

    将一个对象从拥有大量属性的状态,解构成分层次的,相互关联的多个对象,会直接产生一个更实用的对象模型。将一个复杂的大的对象,分解成多个简单的对象。可以将实例变量按照相关性分离在两个部分中;可以创建一个新的对象来封装两个已有的实例变量。

  8. 使用一流的集合

    集合的概念应该是一类实例的集合。比如,定时器对象的集合——包括所有的定时器。我一般是放在定时器类中,然后使用static 来表示集合。看了这个方法要改一下了。任何包含集合的类都不能再包含其他的成员变量。每个集合都被封装在自己的类中。集合其实是一种应用广泛的原生类型。

  9. 不要使用任何Setter、Getter、Property

    要从询问,改变成命令。Geter/Setter/Proerty会对对象的封装性找出破坏。在严格封装的边界背后,真正的动机是迫使程序员在完成编码后,一定要为这段代码的行为找到一个合适的位置,确保它在对象模型中的唯一性。这样可以减少重复性的差错,以及在添加新特性的时候,可以在一个更合适的位置引入变化。

© 著作权归作者所有

共有 人打赏支持
旺仔没馒头
粉丝 3
博文 18
码字总数 13798
作品 0
济南
程序员
私信 提问
珍藏收集,献出这份年薪50W的阿里Java高级开发内训手册

一、源码阅读 二、分布式架构总纲 分布式应用场景解决方案 三、微服务架构纲要

Java架构
12/12
0
0
【粉丝福利】-JavaScript+jquery+html5特效实战,全方位逻辑思维特训!

【粉丝福利】-JavaScript+jquery+html5特效实战,全方位逻辑思维特训! 本次OSChina开源中国社区 联合 web前端学院,推出的 100特效特训,希望大家喜欢!! 获取免费听课权限时间:2017-...

小悦悦
2017/03/23
775
0
高手问答第 188 期 — 从 Java 开发说起,聊聊 Java 的现状和未来

OSCHINA 本期高手问答(3 月 7 日 - 3 月 13 日)我们请来了李刚老师@疯狂软件李刚 和大家一起探讨关于 Java 的问题。 李刚,十余年的软件开发从业经验,疯狂软件教育中心教学总监,疯狂 Java...

局长
03/07
11.2K
71
思科:Java 成 91% 恶意攻击的主要原因

思科的2014年度安全报告中指出:甲骨文公司的Java技术成为安全问题的主要来源。 根据思科最近的安全报告,在2013年,IT企业面对着各种各样的网络攻击和风险。但是,没有任何一项技术会遭到如...

oschina
2014/03/18
4.6K
21
Java研发大学毕业后为何找不到理想的工作

现在大学生在大学学习Java技术,毕业后直接工作,我想在大家心里这只是再平常不过的事情了,可是为啥刚一毕业的Java应聘工程师会遭到各个研发企业的拒绝,这是刚毕业的每个大学生心中的疑虑,...

我爱编程学习
06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

杨健-YJ
54分钟前
3
0
怎么组织文档

可以从以下几个方面考虑组织文档: ☐ 各种分支的界面截图和对应的类及文件 ☐ 框架或类图 ☐ 流程图 ☐ 时序图 ☐ 注意事项

-___-
今天
4
0
分布式之数据库和缓存双写一致性方案解析

引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更...

别打我会飞
今天
18
0
我的oracle11G,12c OCM之路

ocm认证感悟 ---------------------- 距离拿到ocm证书已经过了1年的时间,当初拿到证书的心情到现在还记得。其实在每个DBA心里都有一个成为强者的梦想,需要被认可,我也一样。我干过开发,做...

hnairdb
今天
6
1
手动部署kubernetes集群(1.13.1最新版)

一、机器规划 使用五台机子部署k8s集群,规划如下: master节点3台(同时也是etcd节点) node节点2台 ip分配如下: ip:192.168.10.101,主机名:k8s-etcd01 ip:192.168.10.102,主机名:k8s...

人在艹木中
今天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部