一、标识参数
在读《代码整洁之道》这本书的时候,我看到了这么一句话:标识参数丑陋不堪。向函数传入布尔值简直就是骇人听闻的做法。
书中的解释是:这样做,方法签名立刻就会复杂起来,这一个方法不止在做一件事。而一个方法就该做一件事。
回想我码代码的经历,我就有过此种一个方法中做几件事的错误写法。
文中给了正确的例子。render(Boolean isSuite) 改为reanderForSuite() 和 renderForSingleTest()。
我在想,如果把render(Boolean isSuite)作为其他两个方法的入口,是否可行。不知这是否多此一举。
当然,这里并不推荐使用布尔值作为参数。在实际业务中,有时布尔值能够满足业务需求。但是随着业务需要的发展,布尔值就不够用了。代码改动的成本也很高。
在这里推荐使用枚举类型。枚举相对于布尔更加容易扩展和重构。
二、格式
在文中提到格式的重要性。在这里我想说的是,现在的开发工具方便快捷,它们能够一定程度上格式化我们写的代码,比如控制缩进、空格等等。但是,我们仍然需要在整体的结构上做出安排。
比如说:一般而言,我们想自上而下展示函数调用依赖顺序。也就是说,被调用的函数应该放在执行调用的函数下面。这样就建立了一种自顶向下贯穿代码模块的良好信息流。
三、总结
读了几个关于编码规范整洁之类的书之后,越来越觉得编码规范之类的,对代码质量的提高的作用有限。要想真正的写出好代码,需要编码技术的整体提高。编码规范、设计模式、JDK、算法等等之类的东西都要熟悉。仅仅是某一方面的精通是没用的。