我正在听一个小组讨论,其中一位提到他们的“引擎”不再是1.3,而是现在有170万行代码。这让我感到害怕。我无法想象那么多行代码,模块的数量等等。我一直觉得C++对模块的处理不如其他语言。我觉得管理大型项目更加困难,因此更喜欢保持代码行数合理。当我的代码达到1万行时,我就感到不适。我无法想象2万、5万、50万或100万行代码会是什么感觉。
在开发和维护这种规模的项目时,您有哪些实践经验?
在开发和维护这种规模的项目时,您有哪些实践经验?
您在开发和维护这样大小的项目时有什么实践经验?
好的,这就是当您从开发人员进化为架构师的时候。
对于大型软件项目,项目负责人的关注点不应该只局限于实现,而是要关注结构层面:正确地模块化您的组件/库,将它们良好地解耦,并利用设计模式。
对我来说,重要的不是代码行数,而是设计的模块化程度以及模块的封装性。在某个阶段后,如果我可以像放大镜一样聚焦到一个模块上,了解其设计并编写功能和修复错误,那么代码行数就不重要了。可以说,我从未处理过超过100万行代码的系统。
我觉得这取决于情况。你可以给一个差的厨师和一个好的厨师同样多的食材(例如很多),差的厨师会做出让你呕吐的东西,而好的厨师则可以把它做得好吃易消化。
我认为一个项目不应该以代码行数来衡量,而是应该考虑项目本身的可维护性(就像你所提到的)。只要项目被模块化并且经过良好的重构,情况可能并不太糟。
因此,回答你的问题,我用于维护大型代码库的做法将与维护任何规模的代码库相同——我会考虑集成具有高代码覆盖率的自动构建(最好带有系统级测试),包括工具以帮助您编写可读性强(例如checkstyle)且没有重复代码(例如simian)等工具。
如果项目继续增长,达到了很多行代码,而您又能正确地开发代码库,那么我想这只能意味着您的客户感到满意,并且需要更多的功能。