隨著工作年限的增增長,發現自己越來越不喜歡在博客里面寫一些摻雜自己感想的東西了,或許是逐漸被工作逼得“成熟”了吧。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.總結
現在大環境確實挺差的,穩定是第一,降低期望,降低消費,專注于發展自己的技術能力,會減少很多煩惱。很多時候你改變不了環境,只求把自己該做的事情做好,多看看自己學到了什么,對軟件開發的很多又有了新的認識,不忘初心,堅持自己的本心就好!