上位机工作感想-2024年工作总结和来年计划

ops/2025/1/20 2:02:28/

随着工作年限的增增长,发现自己越来越不喜欢在博客里面写一些掺杂自己感想的东西了,或许是逐渐被工作逼得“成熟”了吧。2024年,学到了很多东西,做了很多项目,也帮别人解决了很多问题,唯独没有涨工资。来这家公司快两年了,业务量增加了不少,工资却还是那个样,领导连大饼都懒得给我画了。

1.2024年总结

1.1 项目总结

其实今年也没做啥项目,一半时间都花在重构老软件上,没有产品经理,没有项目经理,所有的东西都靠两个软件自己来,做完之后也没有业务测试,测试也是我自己。在开发这套软件的过程中,我也是总结了一套适用于上位机开发的比较统一的框架:

  • 第一是分层处理,将整个软件分为通讯层、设备层、控制层、控制面板层,每个层抽象出几个具体业务接口,上层通过接口调用下层,达到解耦的目的,所有业务通过指令模式封装在一个个对象中,不同的业务就是不同指令的组合,整个模式非常灵活
    在这里插入图片描述
  • 第二配置优先原则,分离业务中变化的和不变的配置,将不变的保存在资源文件中,变化的放在配置目录的.ini文件中,之后读取拼装初始化Json对象,核心对象全部通过Qt的反射模式创建,很多业务通过修改配置文件就行了,这个东西要平衡好灵活性和易用性,设置好边界,过度追求灵活性反而会徒增工作量,因为很多配置只有我们软件工程师才能看懂,做在qt的资源中反而更省事;
    在这里插入图片描述
  • 第三就是界面美化,虽然一个不能强求一个软件工程师做好看的UI,但是对于外行人来说,你UI做的好看就说明你技术厉害,所以掌握几套好看的qss风格还是很重要的,这个正在做…
  • 其它就是做老软件的维护工作,其中比较有意思的是,把之前用matlab写的斜光测距建模和预测算法在Qt上用Opencv重写了一下,也是把原来代码整理了,用面向对象的技术分解各部分功能,增加了可视化建模,测量故障异常排查等功能
  • 维护老软件,确实没啥可说的,总结两个字就是:操蛋!

1.2 技术总结

今年在技术栈上没啥突破,基本上还是用Qt开发产品业务,C#开发一些工具软件,python做一些算法原型的研究(越来越觉得python是个操蛋的语言了,好久不看就会忘了之前写的思路)。

  • 设计模式:今年也是把《gof设计模式》看了两遍,对于里面大部分的使用场景都有自己的理解,但是对于像备忘录模式、访问者模式的使用场景还是一知半解。生搬硬套设计模式倒不如不用设计模式,在现在的Qt语言中,很多设计模式的实现方式和书本上的都有较大出入,在充分理解业务变化点的基础上,理解设计模式的思想并在业务中审慎地使用设计模式才是核心,过度设计还不如不设计。
  • C++语言:今年好像对于C++语言基础的书看得不多,也就浅浅地看了一遍《Essential C++》,《C++ Primer》也是没有再看过了,其它的就是再 C语言中文网 上看的一些C++知识了,现在会员也到期了,也就没啥看的了。
  • C#语言:看了一下杨中科的《ASP.Net Core技术内幕与项目实战》,前面的还能看看,后面就是将一些ef框架和Web开发相关的了,看了也记不住。另外就是做了一个调试雷赛电机驱动器的调试软件和数据上传平台(可以适配modbus、数据库不同的上传方式),做了一个blazor的数据大屏看板,感觉C#写的程序在老机器上确实没有qt运行的流畅,也许我用的是.Net6的原因吧,老机器不太适配。
  • Python:没看啥书,用pyqt做了一套光谱性能评价的软件,用了洛伦兹拟合算法啥的。

2.2025年规划

2.1 技术上

  • 学一学在Linux上开发软件的技能,看看能不能承担嵌入式开发的一些产品
  • 注重基础,对于《C++ Primer》、《深入理解计算机系统》、《代码大全》等经典名著还是要多看两遍
  • 界面美化,总结出两套qss窗体美化的主题,让自己的软件看起来高大上一点

2.2 业务上

  • 现在也没啥追求了,干好自己的事就好了
  • 继续完善自己的上位机通用开发框架,提升框架的拓展性、健壮性和易用性

3.总结

现在大环境确实挺差的,稳定是第一,降低期望,降低消费,专注于发展自己的技术能力,会减少很多烦恼。很多时候你改变不了环境,只求把自己该做的事情做好,多看看自己学到了什么,对软件开发的很多又有了新的认识,不忘初心,坚持自己的本心就好!


http://www.ppmy.cn/ops/151533.html

相关文章

hydra破解密码

hydra九头蛇是常用的密码破解工具 1、破解centos ssh密码 hydra -l root -P password.txt ssh://192.168.1.107:2222 hydra -l root -P password.txt -s 2222 192.168.1.107 ssh2、破解ftp hydra -l allen -P e:\aa.txt ftp://127.0.0.1 hydra -l allen -P e:\aa.txt ftp:…

KAGGLE竞赛实战2-捷信金融违约预测竞赛-part2-用lightgbm建立baseline

接着上一篇,用lightgbm建立baseline,发现模型效果得到了很大优化(模型分提升为0.73) # In[211]: from sklearn.model_selection import cross_val_score,KFold # In[228]: import lightgbm as lgb # In[229]: from lightgbm import LGBMClas…

C#高级:通过 Assembly 类加载 DLL 和直接引用DLL的方法大全

一、主项目不添加引用 (主项目不添加引用,而是通过路径获取指定dll) 1.打印类的属性名称 namespace ReflectionDemo {class Program{static void Main(string[] args){// 指定【编译输出】的项目类库dll(启动项目编译输出目录下…

网络安全 | 什么是正向代理和反向代理?

关注:CodingTechWork 引言 在现代网络架构中,代理服务器扮演着重要的角色。它们在客户端和服务器之间充当中介,帮助管理、保护和优化数据流。根据代理的工作方向和用途,代理服务器可分为正向代理和反向代理。本文将深入探讨这两种…

【C++篇】红黑树的实现

目录 前言: 一,红黑树的概念 1.1,红黑树的规则 1.2,红黑树的最长路径 1.3,红黑树的效率分析 二,红黑树的实现 2.1,红黑树的结构 2.2,红黑树的插入 2.2.1,大致过程…

Hooks 使用规则

Hooks 使用规则 命名规则 Hook 必须 useXxx 格式来命名。 PS:这种命名规则也很易读,简单粗暴 调用位置 Hook 或自定义 Hook ,只能在两个地方被调用 组件内部其他 Hook 内部 组件外部,或一个普通函数中,不能调用…

Python 爬虫爬取京东商品信息 ||京东商品详情API

Python 爬虫爬取京东商品信息 下面我将逐一解释每一部分的代码 导入库 from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.edge.options import Options import time import random import csv from selenium.…

Vim 项目的现状

以下是 Vim 项目的现状: 维护与开发团队 团队变动:创始人 Bram Moolenaar 于 2023 年 8 月去世后,主要维护者 Christian Brabandt 承担起更多责任,并接纳了更多的开发者加入,如 Yegappan Lakshmanan、Dominique Pell …