使用Java编程时,我显然会在类中保留相关代码,组织类结构,层次结构等以最大化代码重用。
现在我开始使用C,并且对于以模块化方式组织C代码的最佳方式感到有点困惑。显然我知道头文件和源文件,但在C语言中最大化代码重用时有点不知所措。
那么,人们如何用C语言组织他们的代码,这显然不支持OOP。
答案 0 :(得分:0)
两种语言的不同之处在于java更现代,专为OOP设计
C比较老,而且是并且是一种语言。由于语言不同,我们编程的方式通常不同,布局也是如此。
C程序在.h中有标题(和函数原型),在.c文件中有函数代码。
就模块性而言,您仍然可以按照分区代码的方式对Java进行类似的处理。一般的经验法则是一个文件应该做一件事,即string_parser.c应该只处理字符串解析。 list_sorter.c应该处理列表排序等。
在代码重用方面 - 像“实用程序”文件这样的东西是好的,因此可重用的有用代码可以放在一个C文件中并包含在需要的地方。您永远不必在C中复制代码,因此如果您发现自己复制/粘贴函数,请将其放在中心文件中并将其包含在多个位置。
编写通用函数!让你的功能变得简单和开放,因此它们不那么具体,这样你就可以重复使用你的功能。
我的建议是牢记您的Java代码布局知识,还要检查一个好的C指南。 http://www.doc.ic.ac.uk/lab/cplus/cstyle.html
通常,良好的项目设计将帮助您计算项目的文件布局/结构。
答案 1 :(得分:0)
我倾向于这样想:
示例头文件:
struct CARLIB_Car_s;
void CARLIB_Car_Drive(struct CARLIB_Car_s *pCar, uint16_t KiloMeters);
示例源文件:
struct CARLIB_Car_s {
uint16_t FuelLeft;
};
void CARLIB_Car_Drive(struct CARLIB_Car_s *pCar)
{
// ...
}