什么是好的代码呢?我一直在考虑这个问题。
好的代码,应当具有一些特点:
- 逻辑简单:最直观,最容易理解,最合逻辑的方案,一般是最好的方案。
- 易扩展:封装住可能的变化。
- 模块化:对模块外是黑盒。
- 单一功能:不做分外的事。高内聚。
- 易调试:容易定位问题,修复程序。有详细的日志。
- 高扇入低扇出:仅作为参考。
逻辑简单应当是最重要的特点,因为简单直接,大家(包括自己)都能理解。因此容易调试,容易排错,也容易编写,不易出错。逻辑简单和代码量没有关系。
具有两面性的特点:
- 代码少:其他条件不变的情况下应当是优点。但代码少同样可能引起复杂度增加,降低性能。
- 灵活:过于灵活,增加出错的机会,增加代码复杂度,降低性能。