杂项讨论
在未来时态下开发程序
好的软件对于变化有良好的适应能力。好的软件可以容纳新的性质,可以移植到新平台,可以适应新的需求,可以掌握新的输入。把目光摆在未来时态的程序员才能写得出这样的软件。
- 提供完整的classes - 即使某些部分目前用不到。
- 设计接口,使有利于共同的操作行为,阻止共同的错误。
- 尽量使代码一般化(泛化)。
将非叶子类设计为抽象类
GPT:
- 防止直接实例化。
- 确保接口的实现。
- 提高可维护性。
如何在同一个程序中结合C++和C
- 确定你的C++和C编译器产出兼容的obj文件。
- 将双方都使用的函数声明为
extern "C"
。 - 尽量在C++中编写main。
- 总是用
delete
删除new
的内存,总是以free
释放malloc
的内存。 - 两个语言间的struct传递,C++structs应该不能有虚函数,虚函数会改变内存布局。基类也不行。
(END)