文档章节

java特训第一课

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:37
字数 910
阅读 23
收藏 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
博文 52
码字总数 55931
作品 0
济南
程序员
私信 提问
加载中
请先登录后再评论。
Java课程目录

Java课程目录 1 年前 大家收藏一下这篇文章,这是所有课程的目录。 第一周: 第一课:进制及计算机表示 第二课:进制习题课,进一步介绍进制的知识 第三节课:Java语言的品味(一),通过sta...

osc_jjc36t9p
2018/02/18
2
0
Java自动化测试Java接口自动化测试实战视频教程最全面的

Java自动化测试Java接口自动化测试实战视频教程最全面的高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白盒...

osc_nbqoh20k
2019/11/30
7
0
21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试视频下载

软件测试系列之Java Selenium3自动化测试项目实战视频教程网盘下载 21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,...

IT编程168
2018/12/22
4
0
Selenium自动化测试视频下载软件测试之JAVA语言版

Selenium自动化测试视频下载软件测试之JAVA语言版高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白盒测试,...

osc_bc7dotjc
2019/11/30
2
0
Java SE —— 专栏总集篇

前言: Java 语言,是相对于其他语言而言,门槛低,而且功能还强大的一门编程语言,本人十分看好这一门语言,但是,它也是有深度的,看过本人的《数据结构与算法》专栏的同学们有福了,因为本...

osc_xs6whvw7
03/23
4
0

没有更多内容

加载失败,请刷新页面

加载更多

还在用Swagger(丝袜哥)生成接口文档?我推荐你试试它.....

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后...

路人甲Java
07/09
7
0
智能仓储的独角兽逻辑

智能仓储的主要应用市场在哪里?客户的付费意愿和付费能力如何? 1、仓储设备具备标准化和通用化特点 由于电商和新零售的快速发展,轻工业品零售仓库的需求量大幅增加。而中国又是全球轻工业...

logiter
2019/08/23
14
0
可是小腿哪能扭过大腿

父亲是一个特别勤苦的人,他从不睡懒觉,每天天麻麻亮,或是下地干活,或是在家搞副业,或是拿着铁锨、粪筐,到路边,到村子周围,到牲畜常出入的地方,去拾粪蛋子,为庄稼积攒肥料,父亲不仅...

瑾123
23分钟前
16
0
一个volatile跟面试官扯了半个小时

《安琪拉与面试官二三事》系列文章,本文是此系列第三篇 一个HashMap能跟面试官扯上半个小时 一个synchronized跟面试官扯了半个小时 欢迎关注Wx公众号:【安琪拉的博客】—揭秘Java后端技术,...

osc_6ls9vwji
24分钟前
0
0
内网渗透靶机-VulnStack 2

WEB服务器:windows2008系统 外网网卡IP:192.168.1.152 内网网卡IP:10.10.10.80 域成员:windows server 2003系统 网卡IP:10.10.10.200 域控服务器:windows server 2008系统 网卡IP:192...

dnsil
07/10
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部