目前手头上负责一个商业软件项目,积累好多年了,纯C代码的。
软件以往给用户的交付方式都是源代码包加说明文档加调试服务的方式,这两年暴露出一些弊端:
(1)源代码配置基本都是以宏定义的方式来做的,即用户直接在我们提供的头文件里面修改宏定义,随着软件规模逐步扩大用户需要修改的点越来越多,出错的概率也随之增加,用户抱怨增多。有一些用户提出使用GUI来配置源代码的要求。
(2)经过多年的积累,源代码本身已经比较完善,举个简单例子,滤波算法提供了几十种,目前源代码包里面可以看到所有的滤波算法源代码。但是具体到用户的应用中,每个项目实际也就用到了两三种滤波算法,这种状况对我们不太有利,暴露得太彻底。
(3)随着用户逐渐增多,产品源代码保密的难度越来越大。我们这个软件是ToB的源代码产品,主要通过合同条款来约束用户的随意传播行为,但是随着用户逐渐增多,失控的风险越来越大。
综合以上情况,产品团队决定将产品转变一种形态:
(1)不再以源代码包的方式交付产品,而是以配置工具的方式交付产品,用户在GUI配置工具上一步步配置自己的需求,然后以自动代码生成的方式生成源代码。
(2)根据用户配置,按需生成文件,比如原来的源代码包里面包含filterA.c/filterB.c/filterC.c/filterD.c四个文件,根据用户配置,实际只需要用到filterC.c,那么就只生成filterC.c,不再生成其它三个文件。
(3)减少源代码中预编译指令的使用,原先因为是以宏定义的方式来配置源代码的,使用了大量预编译指令,代码冗长。改用自动代码生成之后,代码可以根据用户配置按需生成,很多代码就可以不再生成了。
现在需要寻求一种技术方案,实现这个GUI配置工具:
(1)开发语言可以是C++或者C#,python也能接受,产品团队目前没有熟悉JAVA的人员。
(2)最好有现成的轮子可以使用,如果有开源项目可以参考的话更好了。
还请各位版友不吝指教,谢谢。
--
FROM 122.238.143.*