C理论/一般实践与"分裂"将系统转换为x个源文件

时间:2014-03-13 01:44:11

标签: c theory

我在C语言编程时有一个简单的问题。我正在用C编写一个简单的应用程序,因为标题建议但我发现自己在单独的源文件中定义了相当大的函数,因此它使维护和调试变得更容易但我的问题是在你将它“拆分”成多个文件之前,在交流源文件中有一个标准的X行数量,或者它是否非常依赖于所讨论的系统/功能。

比如说我有20个源文件,每个函数都有1个功能,但是它们都做了不同的事情(例如它们都以某种方式操纵相同的结构)理论上你应该有这20个文件,或者1个带20个函数的大文件,并将X结构的修改保留在同一个文件中?

我的想法是“分裂”越多越好/越容易编码,但后来又对C来说很新。

任何意见都将受到赞赏。

干杯, 克里斯。

3 个答案:

答案 0 :(得分:1)

分割文件不依赖于功能/系统。这完全取决于程序员。我在单个C文件中看到了1000-1500行甚至更多行代码。如果它们彼此之间没有很大差异,那么将20个函数保存在同一个文件中是有意义的。但是,如果在文件之间拆分函数,请确保在编译时正确编写Makefile。短语"分裂越多,编码就越容易。是有争议的。

答案 1 :(得分:1)

将与相同概念区域相关的代码放在一起是有意义的。例如,如果你有对矩阵起作用的函数,那么有一个名为matrices.c的文件似乎是有意义的,其中有X个矩阵函数。一个名为render的函数显然不属于那里。

然而,如果矩阵函数的数量增长很多,那么将它们全部推入单个文件中就会感觉不对。在这种情况下,我会查找子类别并为每个子类别创建单独的文件,例如2d_matrix.c,3d_matrix.c等。

关于在重新归类之前放在文件中的函数数量,这取决于个人选择,有时是您所在团队的开发规则。

同样的考虑有时适用于函数的大小。我工作过的一个团队不允许高于两个屏幕的代码,感觉这些代码应该被分解成许多较小的函数,这些函数会使代码更具可读性。

对我而言,以有意义的方式构建代码。将相关代码保存在一起,并对函数的大小,文件中的函数数量(太少或太多)都要合理。

函数越大,意外破坏它就越容易。

你在一个文件中推送的代码越多,其他人就越有可能在同一个文件中有点草率和推力,以及可能不相关的代码。

答案 2 :(得分:0)

我喜欢在闭合的副本中回答:如果你在C中遵循面向对象的风格,即在它们上使用结构和操作,文件就会像在C ++中一样自然地分开。对相同数据类型的操作,共同形成一个“穷人”类#34;一起去。