阅读298 返回首页    go 阿里云 go 技术社区[云栖]


C++编程规范之9:不要进行不成熟的劣化

摘要:

    放松自己,放松编程,在所有其他事情特别是代码复杂性和可读性都相同的情况下,一些高效的设计模式和编程惯用法会从你的指尖自然流出,而且不会比悲观的替代方案更难写。这并不是不成熟的优化,而是避免不必要的劣化。

    不必要的劣化,指的是编写如下没有必要的,可能比较低效的程序。

1.在可以通过引用传递的时候,却定义了通过值传递的参数。

2.在使用前缀操作符很合适的场合,却使用后缀版本。

3.在构造函数中使用赋值操作而不是初始化列表。

    构造既清晰又有效的程序有两种重要的方式:使用抽象和库。

避免不成熟的劣化在编写库的时候尤其重要。要了解库所使用的所有上下文,通常是不可能的,因此要达到一种平衡,在更加倾向效率和可复用性的同时,不能因为一小部分潜在的调用者的利益过分提高效率。这个时候就需要平衡,要关注的是可伸缩性,而不是一个细节性的循环的优化。

最后更新:2017-04-03 12:53:42

  上一篇:go Java中取某一个范围的随机数
  下一篇:go C++对象模型(三):Program Transformation Semantics (程序转换语义学)