在设计C项目时,有没有什么已知的设计原则、最佳实践和设计模式可以遵循?或者一般的过程性(命令性)编程的有用设计原则?
(我是‘面向对象一代’的子元素,第一次要设计一个大的C项目)
在设计C项目时,有没有什么已知的设计原则、最佳实践和设计模式可以遵循?或者一般的过程性(命令性)编程的有用设计原则?
(我是‘面向对象一代’的子元素,第一次要设计一个大的C项目)
Information hiding - as espoused by Parnas (Software Fundamentals).
仔细管理标题和可见性:
标头是self 保护的,所以多次包含它并不重要.
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
...rest of header contents, including other #include lines if necessary
#endif /* HEADER_H_INCLUDED */
设计用于处理"对象"(通常是 struct )的函数集,并使用这些函数,而不是在使用它的代码中窥探 struct 的内部.可以将其视为self 强加的封装.