首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

从代码保护途开去

2013-11-09 
从代码保护说开去刚在网上查了查“代码保护”,说的是公司代码,怕被员工偷走的事情。?我这里说的“代码保护”,说

从代码保护说开去

刚在网上查了查“代码保护”,说的是公司代码,怕被员工偷走的事情。

?

我这里说的“代码保护”,说的不是这回事。说的是我在做项目过程中,经常写的如下的代码。

?

if (list != null && !list.isEmpty()) {    ...}if (s != null && !s.equals("")) {   ...}

?

在你的代码中,可以想象很多也都是这样的代码。

?

从系统的稳定性来说,这些代码不可或缺。但是为了稳定性,写业务之前,是否定要这么一段。我想说的是,往往在我们的代码中,这些“保护代码”已经到了泛滥的地步。稳定性的重要性自不必说。

?

但对一个有些代码审美的人,面对这么多“保护代码”,真的觉得有点disgusting。

?

怎么才能又要稳定性,又让代码美呢。

?

其实这个问题,肯定不是我第一个提出。那就找找解决方案吧。现成的,何乐而不为呢。

?

其实以上代码可以称为“校验代码”。括号里面写的代码才能真正的业务代码。代码中如果校验代码和业务代码写在一块,那肯定让人看着难受。

?

引入个新名词-契约式编程。

?

简单释义:代码中只做按契约定好的事情,或者契约不满足,直接报错。

?

如果契约中定好了list不能为空,那代码应该如下写。

?

if (list == null || list.isEmpty()) {    throw new Exception("list should not be null or empty");}...business code
?

而且最好以上的校验代码和业务代码分开在不同文件中,这样看着更清爽了。

?

契约式编程,我也是略懂皮毛,这里也做详细介绍。但是思想应该是没弄错。只要我们坚持契约式编程的思想,那我们的代码也会变得优美。

?

如果只是想写对代码,以上说的可能用处不大。如果想写好些代码,以上说的希望不是误导。

热点排行