做为公司的技术总监,我可以决定开发工具的选择,同时也必须承担我的决定所引发的结果.
无论是Visual C++, C++ Builder,还是Delphi,能够在IDE市场存活至今,必然都是非常优秀的。如果能够将它们结合在一起是否可以拥有更强大的开发效率呢?在这个问题上,我相信仁者见仁,智者见智。但根据我多年的工程实践,我所得出的结论是:尽量使用单一的开发工具。
公司里最初的几个技术骨干,都是和我一样从Turbo C时代过来的,后来直接转向的VC+MFC,所以最初的程序都是使用VC开发的。后来,公司陆续加入了一些新人,由于MFC的培训成本很高,于是我决定一部分界面采用BCB进行开发,这样新人入门比较容易,且能够加快开发进度。具体做法跟现在很多论坛上讨论的做法差不多:使用BCB开发界面;使用VC开发内核逻辑,封装成动态库供BCB调用。
在最初的一段时间里,这样做的结果看上去还不错,充分发挥了两个IDE的长处。问题就出现在C++编译器在二进制层的不兼容上。为了使得BCB可以顺利的调用VC的DLL, 我们不得不将导出函数封装成标准C函数。随着系统的日益复杂,标准C接口阻断了整个软件框架的OO特性。所有STL类型的对象,均无法通过标准C接口在GUI与kernel之间传递。于是,为了传递这样的数据,(比如list,map,最多的是string,作为函数返回时最麻烦),我们不得不用C方式自己去实现。这样,逐渐发现BCB在GUI所带来的便利,已经完全被接口所带来的不利所抵消,同时破坏了整个系统的架构。
在2000年到2005年长达6中,我一直寻求各种方案来解决上述矛盾。最终,我决定彻底放弃BCB. 以前使用BCB开发的大量代码,我需要承受重写的代价,这无疑是软件公司在策略上最坏的错误。
混用VC和BCB的思考
最新推荐文章于 2019-03-12 08:42:19 发布