Project management 在大型图书馆工作的小贴士? 我目前正在开发一个相当大的库(5M行代码,C++在VS2005下,1个解决方案,接近100个项目)。即使我们分发编译,并使用增量链接,在对源代码进行小的修改后,重新编译和重新链接也需要几分钟(通常至少3分钟)到近一个小时

Project management 在大型图书馆工作的小贴士? 我目前正在开发一个相当大的库(5M行代码,C++在VS2005下,1个解决方案,接近100个项目)。即使我们分发编译,并使用增量链接,在对源代码进行小的修改后,重新编译和重新链接也需要几分钟(通常至少3分钟)到近一个小时,project-management,Project Management,这意味着我们的修改代码/构建/调试周期往往非常长(我喜欢!),而且在构建过程中很容易失去“流程”:通常没有太多时间做任何有用的事情(可能发一点电子邮件,或者在线阅读一些文章或几页书) 在编写新代码或进行重大重构时,我尝试一次只编译一个文件。然而,在调试过程中,例如,它真的让我神经紧张 我想知道如何优化我的时间?我想我不是唯一一个处于这种情况的人:你会做什么?我对这个级别的开发不太了解,但是。。。将其分为多个解决方案似乎是个好主意。如果您/您的客户真的坚持,您可以有一个最后的“发货前”步骤,将它们

这意味着我们的修改代码/构建/调试周期往往非常长(我喜欢!),而且在构建过程中很容易失去“流程”:通常没有太多时间做任何有用的事情(可能发一点电子邮件,或者在线阅读一些文章或几页书)

在编写新代码或进行重大重构时,我尝试一次只编译一个文件。然而,在调试过程中,例如,它真的让我神经紧张


我想知道如何优化我的时间?我想我不是唯一一个处于这种情况的人:你会做什么?

我对这个级别的开发不太了解,但是。。。将其分为多个解决方案似乎是个好主意。如果您/您的客户真的坚持,您可以有一个最后的“发货前”步骤,将它们整合到一个.dll中


例如,与.NET Framework进行比较,在.NET Framework中,我们有许多不同的程序集(System、System.Drawing、System.Windows.Forms、System.Xml…)。想必所有这些都可能在不同的解决方案中,相互引用对方的构建结果(而不是在单个解决方案中,相互引用为项目)。

@Domenic:事实上,这将是一件好事。。。然而,整个团队已经做了一段时间了,在他们成功之前,我们只能使用一个.dll和一些非常单一的东西:-(

逐步

唯一的解决方案是开始隔离代码块。如果没有太多的实现泄漏(请参见下文**),则开始构建隔离后面的类的fachade。将这些类移动到其他项目,并使fachade在启动时加载DLL,并将调用重定向到工厂方法

专注于寻找相当稳定的区域/库,并将它们拆分为独立的库DLL。单独构建和版本控制它们将帮助您避免集成难题

我过去也有过这种情况,唯一的办法就是耐心地完成任务

顺便说一句,拆分代码的一个好的副作用是接口变得更干净,输出dll的大小更小!!在我们的项目中,对代码进行填充/重新组织,并减少不必要的包含,最终输出减少了30%

祝你好运

**-->消费者调用obj->GetMemberZ()->GetMemberYT->GiveMeTheData(参数1,参数2)