我们的讨论群上,软件部经理发起了一个讨论,如何去改善我们的老代码,如何做好代码守护、重构等。上面有几个人回了帖子,都在说如何搭好UT的架子,如何怎么安全重构。

我直言不讳,如果开发人员连基本的代码都没时间写完,谈什么重构,谈什么质量。平时谈论的最多的就是,如何“抽空”写写代码。当年面试华赛的时候,最后一面,问我问题说我那个项目完成了多少行代码,用了多久。所说一年多,8万行代码。当是面试官就说,每天多少,我说有两三百吧,然后他说那不出去玩了,不休息了。哎,最后他说,业界的水准是20行每天。现在在公司,还真体会到了这个“业界”。

现在做项目搞得所谓的“敏捷”。人力紧张,每个迭代3个星期,整个迭代就4个。“敏捷”中提到的结对编程,在这里,只能左手和右手结对。测试在这个时候不见了,开发代替了测试的工作。每天开发人员最期望的就是不要被杂事所打扰,能够安安静静的编写几个代码。但XX会议,XX方案讨论,完全在打乱着开发人员的思路。而开发人员,能够“抽空”的时间,就是晚上那片刻的安静,或者周六周天的加班。

在疲于奔命的时候,我想考虑得更多,我想把之前我写的不好的代码怎么重构一下,再回头看看。但这就像是打仗一样,没时间回头看看,还有两三个模块等着你去完成。最后在所谓的进度压力下,只能赶鸭子了。领导提倡的三层代码检视固然是个好事。怎么实施?每天把自己的代码写完了测试的没问题了,然后就想回家休息了。每次检视代码都是一次负担。后来领导自己检视了一下代码,三天后,他说看不下去了。

今天某高层领导谈话的纪要中,终于看到了说要重视软件人员了,要纠正一些不正确的观点和绩效考评的思路。真的按照之前的绩效,什么那些代码出了问题,就像受审判一样的对待开发人员。绩效和问题数挂钩,那我宁愿少做点模块,做简单的模块好了。

事实上,我们都想把事情做好。只是“物质上”都得不到满足,加班没有加班费,没有激励,连吃饭都成问题的时候,我还考虑那么多干啥?

应该尊重开发人员了,虽然我们很底层,但真正上面的成功,还得靠我们这些螺丝钉啊。

2012年末,最后两天加班。明天,后天,元旦?未知数。