拥有一个大型实用程序文件是顽皮的吗?

hor*_*guy 5 code-organization organization

在我的C项目中,我有一个很大的utils.c文件.它真的充满了各种各样的实用工具.我觉得有点顽皮,只是在那里填充不同的杂项功能.例如,它有一些与低级别的东西相关的实用程序,例如lowercase()函数,它还有一些非常复杂的实用程序,例如转换为不同的颜色格式.

我的问题是,拥有如此大的utils.c并且有许多不同类型的实用程序,这是非常顽皮的吗?我应该将它分解成许多不同类型的实用程序文件吗?比如graphics_utils.c等等你怎么看?

Dea*_*ead 9

根据类别(即图形,字符串等)将它们分解为单独的文件将导致更好的组织,从而更容易找到某些代码片段,而不是只有一个大文件.


Ken*_*Liu 7

你想要分解它,不仅仅是出于组织原因,还因为你将拥有许多依赖于这个文件的其他文件.因为一切都取决于这个文件,所以这个文件很难改变,因为它可能导致广泛的破坏.

http://ifacethoughts.net/2006/04/15/stable-dependencies-principle/


Noo*_*ilk 6

我倾向于将它们分解为各种子工具,就像你说的那样(graphics_utils).


小智 6

如果你只是维持这些东西,那就是复杂性到达你发现自己在寻找东西的时刻.那将是重构和重组的时间(重组的成本,就像没有重组的成本一样).

如果有可能其他任何人都会维护一个包含你的工具的项目,你在决定何时重新组织时必须考虑他们的痛点.他们的价格低于你的.