2024年终总结
年终复盘,一般是对比年初定的目标,到年尾了完成了多少?想做的事做了没有?想学的东西学会了没有?然后反思为什么没有做...诸如此类的总结。
但今年感觉自己没什么目标了,感觉也没有太多要说的,只知道一个大的方向,就是一直学一点新技术,不过按惯例,也随便说说点什么吧。
工作
在工作上,目前做 Revit 二次开发,自我感觉还不错,至少没有非常反感工作,反而是一心想着怎么把需求做好,把代码写得更加高效,易读。
职业发展
对于 Revit 二开的工作,感觉市场很小,但应该也能继续做,我认为未来这个职位也会一直存在,当然这个只是我自己的臆想,具体会发展成什么样,我也说不清楚,对我来说,还是一心的把技术专研下去,目前也算是能熟练胜任大部分的工作,当对自己的本质工作能游刃有余的时候,才能把余出来的时间,用来思考其它的问题,做其它的事,这是我最近一两年的想法。
关于会不会一直做二开?这个我觉得应该会,目前也没有太好的方向,感觉已经没有跳出的勇气了,当然也有一些其它的想法,比如说深入做三维图形引擎的开发,不过目前的能力还是没有那么强,目前还是一边学好二开相关的开发技术,二开的相关业务知识,其它的也再同时考虑一下吧。
虽然二开行业内很多人都在唱衰二开,但大家也都没有太好的去处,与其一直抱怨说二开怎么怎么样的差,还不如多反思总结,把这个做精,想办法怎么快速实现需求,怎么把产品做精做好,用不同的方式来实现需求等等。技术和业务专研得越深,就会对完成这个业务有不同的理解,做出的东西就会和别人不一样。
我觉得转去做任何开发都是一样的,都是在实现一个又一个的业务,客户有需求,然后才有开发。开发过很多功能产品之后,也许就会发现一些共性。把这些共性组合起来,也许就可以作为一个独立的产品了(哈哈,也许是想得太简单了)。
如果自己能产出很优秀的产品,不说优秀,就说能正常养活自己的产品,那早就不会在这里做这个二开了。
除了 Revit 二开,AutoCAD、NavisWorks、Rhino、Bentley、Civil 3d 这些也可以一起熟悉起来。不一定要局限于 Revit 二开,当然换一个软件,就得换一种软件的操作方式,各种 API 和实现都不一样,但是到最后你会发现,这些三维软件的二开,其实最终都是几何图形的计算,点、线、面、体之间的运算,
所以重点需要放在图形学、数学、算法这些更抽象、更接近本质的内容上,其它的软件产品都是套壳,
工作中的提升
- 1. 几何计算
今年有不少同事离职,后面也没有招太多的人,很多工作自己也是包揽了下来,虽然并不是一下子有能力承担起这些工作,但也是在慢慢长进,今年给我的感觉就是做了很多项目可能是大部分的工作自己都有参与的原因。接触的技术也比较多,自己也在项目中引入了很多新技术,毕竟二开的技术栈就只有.Net Framework
,但是现在 dotnet 技术都发展到 Net9 了,要与时俱进,不能一直停滞不前。
今年参与的很多工作都和几何计算有关,所以在几何方面也熟悉了一些图形库的使用,比如 NetTopologic、Clipper2 之类的。对业务的需求的理解也更加深入,不再觉得 Revit 二开就是只能在 Revit 上开发,其实这些开发都是在处理一些数据,已知一些数据,用代码处理之后得到另一份数据,只不过最后要怎么展现出来,可以用 WPF 画界面展示出来,也可以用 Revit 生成模型展示出来,核心还是要解决怎么从已知数据得到想要的数据的处理过程。
处理的过程和用什么软件没有关系,只是不同软件获取原始数据的方式不一样而已。
这种从一个已知求解另一个预期的结果的过程,感觉自己回到以前读书的时候,在做数学题一样,只不过数学题有明确的答案,但是现实更为复杂。
- 2. 代码重构
今年也一直在大量重构各种代码,重构自己的代码,接手别人的代码之后,重构别人的代码。很多时候看到一堆写得很差的代码,总是忍不住去重构,但这样强迫症会引发一些不可预期的问题,因为你不能保证每次重构,不会影响到之前正常的功能。
所以,对于重构我有个原则就是:只有这段代码出了问题,在修复的时候,涉及到这代码能重构的地方就重构,其它情况都不要重构,那怕那是烂得不行的代码,也要当做没看到,要忍住自己重构的冲动。
后面才是重构的技巧,比如规范变量名,封装重复代码,解耦类的职责,显式回收内存减少 GC 压力等等,那些都是后面确定要重构之后,在实施重构的时候的一些技巧。
关于重构的技巧,我推荐两本书籍:《Effective C#》、《C#代码整洁之道》。这两本书都可以在微信读书上搜得到。
学习
书籍
今年看的书,有点少。技术都是在项目中学习的。
非虚构的重温了一下博尔赫斯的《小径分叉的花园》,还有今何在的《悟空传》,这两本文学类的书籍,可以引发一些对人生的一些新的思考,这两本书都有一种浓浓的宿命感,
就像今何在说的:“这世界其实只是看起来很大,可实际上你哪儿也去不了,只能在这有限的几平方米空间中不停地画圈,你以为你走了很远,一看里程表都好几万公里了,其实只是在转圈。”
你以为你有很多选择,但其实周围有很多看不见的墙限制着你,其实你只有一个选择。
以前刚毕业的时候,觉得天地之大,自己何处不可去?自己喜欢编程,就觉得自己只要自学能力够强,就能随便去做各种想做的开发。但尝试之后才发现,始终还是无法脱离土木的行业,现在我也有点想不起来为什么那么想要离开这个行业,也许这并不是自己喜欢的,所以最终我的兴趣指引我终于走到开发,但是土木的圈子同时又在束缚着我,让我难以跨出圈子去,所以这算不算不是一种命运的玩弄?
现在走到这一步(二开),觉得天地之大,还真不是哪都能去的,只能有选择的去,很多选择都是不可逆的。一旦选错,就不会再有重来的机会了。
虽然说这些宿命论并不一定是真的,自己的人生当然由自己掌控,但是像王德峰说的,你的生下来这件事,就不归你掌控。对于这些,我也没有什么答案,只知道有时候自己很焦虑的时候,就会想到这些,想到悟空传里的那些人物,想到他们那天定的归宿。
我也在像,或许,我也有自己的归宿,与其每天焦虑,患得患失,还不如接受安排,也许不管我如何努力,最终都会殊途同归,走向同一个结局。只是这个结局,我不知道是什么,既然无法得知,那就过好当下罢。
视频教程
今年没看什么教程,我自己越来越不喜欢看视频来学技术了,好的视频教程较为稀少,少到不够用的地步,所以我学习很多都是看文档,书籍学习。书籍能让自己沉淀下来,偶尔也会看视频,但是都没看完,没看完的视频就是碎片化的,没看完的书籍,却可以从目录看到大概的全貌,以后查阅也能想起来。
输出
今年开发了一个小工具:Revit 插件管理器。很简单的一个小工具,但也算是一个起步吧。
生活
身体健康
现在做了开发之后,一天坐在电脑桌前的时间至少 12 个小时以上。缺乏锻炼,体重猛增,各种疾病也随之而来了。很久没有锻炼,也和工作有关,经常加班到晚上 9 点,周末也是单休,唯一休息的一天,就只想躺着睡觉,那也不想去。
但是肥胖之后,各种疾病也随之而来,而且整个人看起来都很油腻,得重新把锻炼的计划加入到每天的日程里了。
虽然今年也有骑行,但骑行也很少,今年都没去逛过什么风景,都沉浸在代码的风景里了。