激情的开始
我是 2010 年来到第一家公司,也一直是这家公司,虽然公司中间有过波折与人员流失,但原始团队始终没变,最原始的几个同事都是一路跟随成长的,这一点很庆幸。
公司做嵌入式方案主要卖硬件的(后续的产口细节与人名均不透露),我负责的事情也比较繁琐,但主要还是写 WINDOWS 客户端软件,配套硬件产品使用,习惯了 VC6.0 简洁的 IDE 环境,用得最多的就是串口、libusb 通讯这两种方案,早期用BCG,后改用 XTP 做界面,整体来说没什么太高深的技术难度。
随着公司的不断扩大,来公司第一个项目,就是结合公司现有业务流程的实际情况,做一个 ERP 系统,包括下单、财务、仓库,差不多有 40 个界面,5W 多行代码,时间紧迫得在一个月内必须搞完上线。
回想这套代码已经有 7 个年头了,当时还是为了简便,客户端直接操作 MSSQL 数据库,时间也是取的本地时间参与计算,导致后面的隐患埋下了伏笔:有一年年底,财务的手工账跟这个系统对比,差了十多万元的订单记录,险些造成巨额损失。
这套代码在之后即便是闲下来的时候,也不想再维护,毕竟一个月敲 5W 行写出来的东西已经跟屎没什么区别了,加上这中间 PM 不断的在变化需求濒临崩溃,弄完之后自己都TMD不想看了。
前几年闲下来的时候,在下班空闲时间重写了这一套 ERP 系统,改成了 C/S 网络程序,客户端只负责提交数据给 IOCP 服务端处理,客户端本身不参与计算或任何逻辑,也不直接读写 MySQL,客户端只是简单的处理服务端返回的结果。当然,现在运行得比较稳定,主要还是易维护、安全与稳定,改起来不至于那么费劲。
来公司真正接手的项目,是一个 60 多万行的 C++ 代码(VC6.0 + BCG),说接手其实是含蓄了点,其实就是TMD一个擦屁股的,这还不是最恶心的,最恶心的是这屁股一擦就是七个年头了…….
第一个项目搞了差不多有 10 个月,每天晚上加班搞到半夜,最终还有一个功能没有解决,这几乎就要“伤筋动骨”的手术了,无法彻底渗透,更无法重构,因为其中最核心的一个函数,差不多 1400 行代码,F5调试的时候直接被大括号转得懵逼了!!!
后来,这个软件发布过几个 Beta 版本后就再也没有升级过,实际上最伤感的是客户根本都不用我们的软件(有其他公司的同类软件代替),这个项目就最终不了了之,接着下一个项目开始了……