【持续更新】高质量的项目开发过程(C++)(前后端)
这篇文章的目的是,公司来了一个大厂十多年的架构师,重写我们的老项目代码,代码量超过20万行,注释少,与业务也强耦合,模块之间的解耦也因为不断加功能,做得不太好。多线程下死机频发,程序运行卡顿,硬件配置已经是行业顶尖,程序却没别人的流畅。
以前的老办法是用两个中间文件去管理前端和后端的所有模块,导致中间文件一个类超过一万行代码,维护越发困难。新办法是基于框架去做,为每个需要交互的模块配置domin,field,也就是域和属性,然后设置好了,两个交互的控件,根据域和属性去找到对方,进行交互。
这篇文章会持续更新,持续修改,记录整个过程,分享架构师的思路。
- 前端
- 环境 qt 5.12.5 msvc 2017 vtk 9.0 qCustomPlot v2.1.1等等
- 第一个任务是抽象出Item
- 将所有可能重复创建且需要交互的控件包装成Item;
- 配置json文件来创建这些Item,子类调用框架的父类方法,父类方法分为工厂和读取json,读取后创建,那些基本自定义控件就创建出来了;再在子类中去调整它们的布局;
- 第二个任务是Qt国际化支持
- 就是多语言支持,将所有用到中文的地方变成tr("???"),利用qt的提供的方式将文本统一管理起来;
- 第三个任务是QSS样式
- 建立了一个qss系统,统一管理,统一加载多个qss文件;
- 将控件的不同属性都进行分类,然后分文件,我们不是按照控件分类,而是按照属性,颜色,布局,图片等等分类;
- 将很多抽象出来的自定义类Item进行颜色,布局,边框等等的调整,还有很多基础类进行调整;