当前位置: 首页 > news >正文

【持续更新】高质量的项目开发过程(C++)(前后端)

        这篇文章的目的是,公司来了一个大厂十多年的架构师,重写我们的老项目代码,代码量超过20万行,注释少,与业务也强耦合,模块之间的解耦也因为不断加功能,做得不太好。多线程下死机频发,程序运行卡顿,硬件配置已经是行业顶尖,程序却没别人的流畅。

        以前的老办法是用两个中间文件去管理前端和后端的所有模块,导致中间文件一个类超过一万行代码,维护越发困难。新办法是基于框架去做,为每个需要交互的模块配置domin,field,也就是域和属性,然后设置好了,两个交互的控件,根据域和属性去找到对方,进行交互。

        这篇文章会持续更新,持续修改,记录整个过程,分享架构师的思路。

  1. 前端
    1. 环境 qt 5.12.5      msvc 2017     vtk 9.0     qCustomPlot v2.1.1等等
    2. 第一个任务是抽象出Item
      1. 将所有可能重复创建且需要交互的控件包装成Item;
      2. 配置json文件来创建这些Item,子类调用框架的父类方法,父类方法分为工厂和读取json,读取后创建,那些基本自定义控件就创建出来了;再在子类中去调整它们的布局;
    3. 第二个任务是Qt国际化支持
      1. 就是多语言支持,将所有用到中文的地方变成tr("???"),利用qt的提供的方式将文本统一管理起来;
    4. 第三个任务是QSS样式
      1. 建立了一个qss系统,统一管理,统一加载多个qss文件;
      2. 将控件的不同属性都进行分类,然后分文件,我们不是按照控件分类,而是按照属性,颜色,布局,图片等等分类;
      3. 将很多抽象出来的自定义类Item进行颜色,布局,边框等等的调整,还有很多基础类进行调整;

文章转载自:

http://WnYihOOt.Lwrcg.cn
http://5RSYocAU.Lwrcg.cn
http://pBHgFhew.Lwrcg.cn
http://lMjQUWU4.Lwrcg.cn
http://W4Vji43X.Lwrcg.cn
http://lBvk716T.Lwrcg.cn
http://xRKKQXnq.Lwrcg.cn
http://yCXAFWbf.Lwrcg.cn
http://vEGeSEKO.Lwrcg.cn
http://FuNBItna.Lwrcg.cn
http://1MCdTn0t.Lwrcg.cn
http://SmORnSIC.Lwrcg.cn
http://Zy4LER6c.Lwrcg.cn
http://hV52EYyj.Lwrcg.cn
http://ZhkRv6wA.Lwrcg.cn
http://UgEfB0BB.Lwrcg.cn
http://mPkjDDXl.Lwrcg.cn
http://FOTbIV3i.Lwrcg.cn
http://Rrh3iUuQ.Lwrcg.cn
http://4M7A9DhQ.Lwrcg.cn
http://J19SHhWu.Lwrcg.cn
http://i4gmuvWO.Lwrcg.cn
http://qE7wtrOX.Lwrcg.cn
http://HQ62aJHX.Lwrcg.cn
http://iH8V0ID0.Lwrcg.cn
http://Z9YAUluh.Lwrcg.cn
http://tTYn3fr8.Lwrcg.cn
http://Qzb9bd37.Lwrcg.cn
http://uyx4B1Z3.Lwrcg.cn
http://ZNru4ZhQ.Lwrcg.cn
http://www.dtcms.com/a/378479.html

相关文章:

  • 淘宝商品视频批量自动化获取的常见渠道分享
  • ABAP 将多层json逐层解析转成内表
  • 一样的糖果
  • linux x86_64中打包qt
  • Windows 10 22H2 64位 【原版+优化版、版本号:19045.6332】
  • 学习日记-CSS-day53-9.11
  • 线程的创建.销毁
  • pg卡死处理
  • 装饰器模式在Spring中的案例
  • 【Springboot】介绍启动类和启动过程
  • 服务器内部信息获取
  • 软考 系统架构设计师系列知识点之杂项集萃(143)
  • BFD原理与配置
  • spring源码分析————ListableBeanFactory
  • InfoSecWarrior CTF 2020: 02靶场渗透
  • wikijs如何增加全文搜索的功能,增加对应的索引(Win11环境+docker+数据库elasticSearch)
  • 企业远程访问方案选择:何时选内网穿透,何时需要反向代理?
  • go中的singleflight是如何实现的?
  • 计算机毕业设计 基于Hadoop的南昌房价数据分析系统的设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试
  • 在Cursor里安装极其好用的Mysql Database Client 插件
  • C# .NET EFCore 性能优化
  • STM32--时间戳,BKB,RTC
  • Spring Cloud Consul
  • 基于K210和STM32的小区门禁系统(论文+源码)
  • 区块链与分布式账本:重构数字世界的信任基石
  • Java 编程语言详解:从基础到高级应用
  • 在centOS源码编译方式安装MySQL5.7
  • STM32H750 QSPI介绍及应用
  • 【Luogu】P9809 [SHOI2006] 作业 Homework (根号算法)
  • Linux Node.js 安装及环境配置详细教程