C++接口设计和代码重构

书籍

1. C++ API Design

讲了接口设计, 文档(doxygen),测试等方面。
对于从头编写基础库, 或者没有基础库开发经验并且需要短期内上手, 有一定实际参考价值。

2. The Mikado Method

所谓Mikado Method方法是用来维护一套现有代码的方法,包括四个步骤:

  • Set goal
  • Experiment
  • Visualize
  • Undo
    书本身挺好的,操作性应该挺强,但是是Java语言的,因此只看了chapter1.

3. The legacy code programmer's toolbox

是因为看了这个网页 https://www.fluentcpp.com/2020/01/24/mikado-refactoring-with-c-feature-macros/ 而买的电子书 (leanpub.com)
买完了比较后悔的是, 这本书并没有怎么给出怎么用 Mikado 方法来重构已有 C++ 代码。 感觉这个网页存在误导嫌疑, 让我一开始以为这本书和这个blog的内容相关。
书里面几乎都是文字, 你可以说确实是经验之谈, 也确实是 fluentcpp.com 网站作者写的书。 但是没啥可操作性。。

4. Modern C++ Programming with Test-Driven Development

这本书是讲 TDD (Test-Driven-Development,测试驱动的开发)。但实际上大多数项目并不是从头开发的,面对老代码才是实际中的绝大多数情况。

好在,这本书专门有一个章节讲述了面对 legacy code 的经验之谈, 也有对应的样例代码:

https://learning.oreilly.com/library/view/modern-c-programming/9781941222423/f_0093.html

5. Working Effectively with Legacy Code

这本书从题目上就是面对 legacy code。然而, 这又是一本依托于 Java 语言的书。

API设计原则

C++ API 设计的 25 个错误以及如何避免

https://www.acodersjourney.com/top-25-cplusplus-api-design-mistakes-and-how-to-avoid-them/

20个破坏ABI的改变

https://www.acodersjourney.com/20-abi-breaking-changes/

Qt API 设计原则

KDE 的二进制兼容规则

https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B

posted @ 2021-09-21 22:56  ChrisZZ  阅读(312)  评论(0编辑  收藏  举报