写代码这些年

从毕业到现在,代码写了也有小四年了,累觉不爱啊~
问题一:很少有时间去重构代码
工作时间总是有事情,即使闲下来也很少去重构之前写过的代码,当初会议时经常会做出这样的决策,“这个功能先这样做,以后有时间我们再优化”。这个决定就是万恶的根源,因为我们很少会有机会回过头来去优化代码。
问题二:系统越来越庞大
有没有发现一件事情,我们从来都是在不停的写代码,绝少会有删除代码的工作,这样下来随着日积月累,代码里充斥着无用的注释,再也不会使用的方法,陈旧的重载,为了兼容某个症状加入的硬编码,甚至有些功能都已经下线了,但是代码却依然在那里生生不息的存在着。有的时候我真的想花上几天时间去做Delete,让庞大复杂的系统瘦瘦身。
问题三:管理成本巨大,没有文档,全凭感觉开发
每天花不少时间去沟通,开会,做需求,几个小时下来,发现没有最终定论,需求没有文档,全靠心口相传,开发没有文档,后人全靠读代码去理解需求,好心人会留下几行注释,整个系统渐渐变的不可维护,或者说,换了开发人员,这个系统的维护难度简直无限增大。
问题四:编程水平良莠不齐,测试覆盖面严重缺乏
编程全靠良心,缺少人员与时间去审查代码,有的方法甚至会出现上千行代码,大量的if else判断而不去做小函数的拆分,生涩难懂。如果改了一处代码,需要上线,自动化测试覆盖严重不足,只能覆盖主流程,而且持续集成几乎没有,每次更新都会担心有没有牵连的东西受到影响,边角测试全靠手点,问题发现困难重重。
问题五:运营与开发是敌人
没有领导在的时候,运营从来不考虑开发成本,开发从来不考虑运营使用感受,两者形成对立,为什么就没有人能站在一个高的角度去帮公司赚钱?这里要说的是节省时间就是帮公司挣钱,运营简化需求,不要毫无顾忌的因为一个小众需求兴师动众,让开发人员去耗费很长时间去完成一个只有几个人才会使用的功能,同时,开发尽量把功能做的好用,节省运营操作成本,不要为了做功能而做功能。产品经理要从中周旋调和,一切站在更高的角度去着想才好!