自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 高质量的代码 - 函数(3)

这一篇我将主要通过一个例子来讨论如何利用函数一步一步的简化复杂的条件表达式。下面是我们要讨论的一个例子。例子中有一个Bank类(此类没有任何实际意思,仅用于讨论。),Bank类提供一个LoanMoney的public 函数,LoanMoney函数有一个复杂的条件表达式。想要理解LoanMoney函数就必须要理解这个复杂的条件表达式。我想绝大部分攻城狮都需要花一些时间来理解这个条件表达式,而且还很容易理解错误。public class Bank{ public void Loa...

2020-11-14 11:51:50 99

原创 高质量的代码 - 函数(2)

编写函数的一个重要的原则就是尽量的让函数小。小的函数职责单一且容易理解。大家可能会问什么样函数算是小呢?如果一定要一个定量的指标,我们通常建议尽量不要超过30行,嵌套层数不要超过3层。我想不同人或公司有不同的指标,同时在日常编程工作中会有很多复杂的实际情况。所以大家不能教条,这些指标仅是一个参考值。如果大家发现编写的函数超过这些指标了,就要有意识去审视这个函数是否还易于理解,是否承担过多的职责。 下面我们通过一个简单的例子来说明如何将函数变小(降低复杂度)。例子中的Calcul...

2020-11-14 11:31:43 124

原创 高质量的代码 - 函数(1)

从这一篇开始我们将主要讨论函数。我们首先从一个问题开始,我们为什么需要函数?或是函数能给我们带来什么好处?下面的列表是我基于前人的经验所理解的函数的好处:降低复杂度 引入易于理解的抽象层 封装变化 避免重复代码 简化复杂的条件表达式 ....降低复杂度 函数为什么能够降低复杂度呢?首先我们来看看我们是如何解决复杂问题的。我们在解决复杂问题的时候,常用的也是最有效的方法是:将复杂的问题分解成相对简单的多个子问题。有时我们甚至会不断的重复这个过程(即将子问题继续分解...

2020-11-14 11:20:58 139

原创 高质量的代码 - 命名(3)

这一篇我们将主要讨论函数和类的命名。如果变量名字的好坏会影响我们理解单个函数的成本,那么函数和类的命名会影响我们理解系统各个部分协作的成本,这正体现了为函数和类取个好名字的重要性。 函数命名最为重要的原则是:函数的名字必须体现函数的职责,或者直白的讲就是一看函数的名字就能知道函数是干什么用的。为什么一定要这样?这又要回价值篇里的那个例子了,如果我们能做到一看函数名字就能知道是干什么用的,很多时候我们还需要去阅读函数的具体实现吗?这其实在缩小A+, B+, C+ 以及D+的范...

2020-11-14 11:12:19 57

原创 高质量的代码 - 命名(2)

关于如何为变量取一个好的名字,我们已经在上一篇作了详细的讨论。其中最核心的原则是变量的名字要能够清晰直接的表达其作用或意思。在这一篇文章中我们将主要讨论一下魔术数和成员变量的命名。 大家有没有这样一个经历:在维护一个旧的系统时,发现一段代码里面有个数字(magic number),而写这段代码的同事早已离开公司。整个公司没有人知道这个数字是起什么作用的,所以没有人能够理解这段代码的意思,于是乎没人敢改这段代码。如果系统出现了一个和这段代码相关Bug,且你是那位需要修复这个B...

2020-11-14 10:51:04 69

原创 高质量的代码 - 命名(1)

从这一篇文章开始我们将主要讨论How,就是大家常说的套路。编写整洁代码的技巧(套路)繁多,同时不同的公司和个人对这些技巧的重要性的理解也不同。我们无法覆盖所有的技巧,在这里我们将主要讨论我们日常工作中运用的或是相对比较关注的套路。如果大家对更多的技巧感兴趣,可以问无所不知谷歌大神 (在这里要敬仰一下大神)。 命名是我们要讨论的第一个技巧。提到命名我不由的想到了行车安全...

2019-10-11 17:19:18 567

原创 高质量的代码 - 什么是整洁的代码

上一篇我们讨论了代码质量的价值观,这帮助我们理解了Why,即我们为什么要编写整洁的代码。这一篇文章我们主要关注What,什么样的代码才算是整洁的代码?整洁的代码是一个比较抽象的概念,它无法为给我们具体的工作提供有效的指引。如果我们直接把它作为目标,我们就会有无从下手的感觉。这就要求我们定义出整洁代码的特征,为我们落地整洁代码提供很好的指引,作为我们平时工作的目标和方向。 I...

2019-09-22 16:46:02 493

原创 高质量的代码 - 价值观

在这个移动互联的时代,IT行业的节奏可以用飞快来形容。整个行业都希望自己身手敏捷,快速的将想法落地,然后快速迭代。天下武功为快不破,但是大家有没有这样的经历,在开发软件开始几个版本的时候感觉整个团队速度飞快、身手敏捷,但是随着功能越来越多你突然感觉自己慢下来了,而且越来越慢。那如何才能让团队持续的快呢?代码质量是其中的一个重要因素。我们将通过一系列的文章来阐述我们的对代码质量的理解...

2019-09-22 16:25:12 261

原创 MySQL, MaraiDB and PostgreSQL 许可

MySQL Server 是GPL V2 许可MySQL Client/Connector 是 GPL V2 许可MariaDB Sever 是 GPL V2 许可MariaDb Client/Connector:MariaDB Connector/C, MariaDB Connector/J  MariaDB Connecctor/ODBC 为LGPL 许可。Mari

2017-04-18 08:28:25 894

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除