我有一个我正在写的程序,不是很大。除了main函数之外,它还有大约15个其他函数,这些函数在不同的时间调用各种任务。代码在一个文件中运行得很好,就像现在一样。
然而,我想知道是否有人有任何建议,是否将这些函数放在与main不同的单独文件中是更智能/更高效/更好的编程,或者这是否重要。若有,原因为何?若否,原因为何?
我不是C++的新手,但也绝对不是专家,所以如果你认为这个问题很愚蠢,请随时告诉我。
耽误您时间,实在对不起!
发布于 2010-04-19 22:26:10
取决于这些函数的大小。如果你的源文件开始超过几百行代码的长度,就有理由将部分功能提取到一个(或多个)单独的文件中。
如果您可以根据职责和/或抽象级别将功能分组到不同的集合中,那么您可能更喜欢沿着这些路线将它们划分到不同的物理文件(当然还有类)中。例如,一些函数可以处理文件I/O,而另一些函数则进行一些计算。或者,一些函数在文件I/O中执行低级位翻转,而其他函数则构建在前者之上以实现一些更抽象的功能。
划分代码的另一个原因是如果一些函数被多个客户端使用,但这显然不适用于您的情况。(然而,如果你的应用程序在未来得到进一步的开发和扩展,这种情况可能会改变……)
发布于 2010-04-19 22:28:15
根据代码的相似性将代码划分到不同的文件中是很好的。如果您有多个类,则可以按类将其拆分。如果您有几个可以在其他程序中使用的函数,您应该将它们放在它们自己的文件中,以便于移植。
发布于 2010-04-19 22:58:39
由于您只提到了函数,因此我假设您的程序不是面向对象的。如果是这样的话,我建议每个.h/.cpp对都有一个类。在您的情况下,这取决于这些函数是否可以分组为2个或更多个子集。如果是这样,我会将相关函数放在单独的.cpp模块中,并始终具有包含其原型的相应.h头。
将所有这15个函数放在同一个模块中并不一定是正确或错误的。同样,如果它们都是强相关的,那么它们应该属于同一个模块。另一个要决定的规则是模块大小本身。我发现很难管理一个超过1000行的模块,这个阈值是一个警告信号,它应该被拆分。这两件事是相关的,通常当模块变得这么大时,它也可能有两组或更多不同的函数。
https://stackoverflow.com/questions/2668133
复制相似问题