上位机工作总结(2023.03-2023.08)

1.工作总结

不知不觉,已经从C#转为Qt开发快半年了。这半年内,也是学习了很多C++相关的开发技能,同时自己的技术栈也是进一步丰富,以后跑路就更容易啦,哈哈!自己之前就有Winform和一些简单的Qt项目实践,所以从Winform转为C++Qt开发也不是太难的事情,QWidget主要也就是一些控件的拖拉拽还有布局的知识,迭代了那么多年,我感觉比Winform的很多API更加合理,毕竟Winform这么多年也没怎么迭代。自己学习Qt也是先开发一款比较简单的数据收集、保存、查询的软件,主要用到了QWidget和SQL等相关知识。后面就开始上手项目了,公司项目的架构只能说是一言难尽,很多情况下你看代码压根不知道是啥业务,自己也是在啃了几个小模块后,才逐渐理清一点我们公司的业务。和之前再聚光做的光谱分析业务类似,无非就是打激光,光谱仪采集光谱,将数据传给算法接口,最后显示计算结果。业务是简单的、代码是冗余复杂的。所以最近也是在和技术领导商量如何对现有业务进行重构(领导说是重写)。

2.学习

自己平时也是挺喜欢学习新知识的,所以从C#转为C++转的也挺快的,主要就是C++内存管理比较麻烦,其次就是C++编程的语法和C#略有不同,类的声明和定义、lambda表达式、命名风格的不同。后来发现C++的内存管理对于我们这种小项目也不是什么太难的问题,只要把软件架构设计好,再一些Manager单例中对实体的创建和销毁进行管理后,也很少出现内存相关的问题。很多时候代码的问题多于人的问题,整洁代码和语言没有啥关系,不讲究的人用什么语言写的都是烂代码,只不过是C++又给他们多了一个烂代码的理由罢了。自己也是看完了霍亚飞的《Qt Creator快速入门》、《Essential C++》、《C++ Primer》这几本书,还有就是qtkaifajingyan 的一些经验总结,自己现在对于C++理解的比较浅显,前面说的那些书看的时候也是一知半解,等做个两年的C++项目后再回头看看也许收获会更多。

3.关于重构

自己最近也是看了很多遗留代码,代码质量不敢恭维,想想当年在聚光维护的那套代码还算好的呢。刚开始,也是想在前人的基础上进行重构,尝试了几天后,发现重构实在是太难了,一不小心就被绕进去了,然后每天下班人的状态都不是很好。第一个项目我就做了一个比较正确的决定,将新业务新开发为一套软件,再通过通讯协议集成进老项目,这样老项目出了问题也不用相互甩锅了。后来那老员工一直叫我把软件集成进老项目,哈哈,我又不傻喽。关于重构还是重写,我的理解是重构是在整理质量不是太差、有一定架构思维的代码,看代码能懂一点业务。重写是简单业务复杂化,业务写的非常冗余,一句代码就能写完的功能非得五句十句,看代码看的想吐,这时候就考虑重写了。重写也是在充分了解原有业务的基础上,不影响他人工作的前提下进行的。

4.计划

最近在尝试看视频学习新技术,发现效果不是特别好,视频要不就是太冗余,要不就是太基础。看了两个星期后我决定还是放弃这种学习方法,还是多看看技术博客和技术书籍吧。C语言中文网是一个比价好的学习平台,上面也得教程也都是深入浅出,值得买个会员来看看。后续准备:

1.继续学习C++相关语言知识,将C语言中文网上的C++教程再看一遍

2.学习《深入理解计算机系统》这本书,有点难,但是要保证每天看1-2节

3.学习嵌入式相关知识,在Linux上进行软件开发,买本书和开发版回来学一学

4.继续学习QtWidget相关知识,暂时不考虑qml开发

相关推荐
十年一梦实验室21 分钟前
【C++】sophus : rxso3.hpp 实现了 3D 空间中的旋转和缩放操作的 RxSO3 类 (二十一)
开发语言·c++·人工智能·算法·3d
Fan_5581 小时前
008 Qt_显示类控件_QLabel
开发语言·qt
No0d1es1 小时前
GESP CCF C++六级编程等级考试认证真题 2024年12月
开发语言·c++·算法·青少年编程·gesp·ccf·六级
IT19951 小时前
Qt笔记-Qt Creator开发环境搭建
开发语言·笔记·qt
编码小哥1 小时前
C++信号处理
c++
扶尔魔ocy1 小时前
【QT常用技术讲解】发送POST包(两种方式:阻塞方式及非阻塞方式)
qt·post·window开发
机器视觉知识推荐、就业指导1 小时前
C++设计模式:组合模式(公司架构案例)
c++·后端·设计模式·组合模式
长安05111 小时前
面试经典题目:LeetCode134_加油站
c++·算法·面试
越甲八千1 小时前
重拾设计模式--工厂模式(简单、工厂、抽象)
c++·设计模式
云空1 小时前
《Qt Creator 4.11.1 教程》
数据库·qt