刚在网上查了查“代码保护”,说的是公司代码,怕被员工偷走的事情。
我这里说的“代码保护”,说的不是这回事。说的是我在做项目过程中,经常写的如下的代码。
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
而且最好以上的校验代码和业务代码分开在不同文件中,这样看着更清爽了。
契约式编程,我也是略懂皮毛,这里也做详细介绍。但是思想应该是没弄错。只要我们坚持契约式编程的思想,那我们的代码也会变得优美。
如果只是想写对代码,以上说的可能用处不大。如果想写好些代码,以上说的希望不是误导。
分享到:
相关推荐
【《从拴象说开去》阅读及答案】从拴象说开去阅读答案.docx
玻纤行业系列分析报告之三:从最新数据说开去,对玻纤行业需求的再验证.rar
20210220-中金公司-酒类食品饮料行业:啤酒,竞争进行到哪了?从福建市场说开去.pdf
从教学改革说开去.doc
从流程优化的一个经典表格说开去.doc
从流程优化的一个经典格说开去.pdf
AMT咨询观点之:从流程优化的一个经典表格说开去.docx
从狼狈为奸说开去作文.doc
基于信息生态理论的个人数据保护策略研究——由英国下议院《网络安全:个人在线数据保护》报告说开去.pdf
苏教版九年级上五单元作文:从国土资源说开去.docx
酒类食品饮料行业:啤酒,竞争进行到哪了?从福建市场说开去
05 白话容器基础(一):从进程说开去.pdf
玻纤行业系列分析报告之三:从最新数据说开去,对玻纤行业需求的再验证
(安全生产)从安全帽的正确佩戴说开去.docx(安全生产)从安全帽的正确佩戴说开去.docx
叶茂中:从雅客糖果的营销策划说开去.doc
从Android5.0只需要512MB内存说开去.pdf
酒类食品饮料行业:啤酒,竞争进行到哪了?从福建市场说开去-20210220-中金公司-25页.pdf
紧接着,我详细介绍了容器技术圈在过去五年里的“风云变幻”,而通过这部分内容,我希望你能理解这样一个道理:05 | 白话容器基础(一):从进程说开去容器本身没有价
从38度5说开去一个孩子爸爸关于小儿发热的认识和体验实用.pdf