真实故事
公司里一位十多年经验的老司机和一位刚毕业的前端妹纸一起合作一个web项目,老司机负责后端,妹纸前端设计.一大早,刚上班,老司机因为前端请求过度频繁,想看看前端是怎么实现的?在妹纸的指引下,老司机看到了前端的js代码.(注意:老司机在前端这一块儿是不熟悉的.)老司机听了妹纸的逻辑后,觉得不妥,需要优化,然后开始修改js代码,老司机是按照后台语言来思考前端js的.边修改,边询问旁边的妹纸,这语法对吗?是不是应该这样写?js有没有那个什么什么?总之,老司机用了一个复杂的算法,变量用来用去,把妹纸弄的一塌糊涂.就这样,磕磕绊绊,2个小时过去了...
最后,妹纸都有点不高兴了,因为妹纸每天还有任务.老司机运行了一下,觉得没问题,就起身了.可是,这位妹纸坐下后,愣住了,然后开始忙活起来...临近下班的时候,今天的任务,还没做完呢.原来,她坐下以后,发现,老司机修改的部分,破坏了一些其他的逻辑.她不得不围绕老司机的核心算法,一点一点重新把js逻辑顺一下.
我的观点
程序员写的代码是什么?
逻辑思想.至少我写代码是这样的.我的编程,就是把我解决一个问题的方法,用计算机语言描述出来.我们都知道下面这句话:
问题只有一个,解决问题的方法确很多
程序的问题只有一个,但是解决这个问题的方法有很多,不同的人会用不同的方法,这是思想的差异,也是人与人之间的不同.人的思想,是最难读懂的,更何况是一个女生的思想.鬼知道一个小女生在想些什么.而这个老司机凭借自己雄厚的经验,触碰了一个炸弹.他只看了代码的局部逻辑,却忽视了刚毕业的小女生的代码逻辑是分散的,是跨越种族,奔向世界的.牵一发,而动全身啊.
代码是一位程序员的尊严
每一位程序员的代码都是通过自己勤劳的十指敲打出来的,即使他写的代码在你看来是那么的糟糕,那么的混乱,那么的逻辑不清.但是,你别忘了,这块儿代码,他自己最熟悉了,他自己能读懂,这块儿代码的主人属于他,而不是你.也许,你会说,我们写的代码是给别人看得,没错.写代码确实是给别人看的,但是这个过程是很漫长的.换位思考一下,你辛辛苦苦写的东西,被别人三下五除二就给修改的面目全非,你什么感觉?踩死它的节奏都有了,是吧.你是老司机,别忘了,外面马路上的公交司机,随便拉出来一个,
就比你强.
天外有天,人外有人
别人的劳动成果,在他眼里是最棒的.你可以在他写的代码后面,添加上自己的代码,但是,千万别去直接修改他的代码,给出建议,往往比直接解决问题,要好很多.
最后感悟
- 对于菜鸟,你可能没有能力去修改他人的代码,那就尝试着修改自己的代码,一段代码,通过不断的修改不断的重构,你会发现世界原来这么美好;倘若某一天,你碰到了一个粗鲁的老司机,也不必生气,心平气和,他不懂礼貌,你不能学他,你有自己的修养;
- 对于一位经验丰富的你,记住,谦虚第一,千万不要凭借自己的经验去直接修改他人的代码.即使,他再怎么菜,因为时代在变,程序也在变,更何况,你能知道比你小一大截的新新人类想的什么吗?给出建议,给出方法,让他自己实现,让我们祖国的花朵放手一搏;
- 对于产品经理,还是把需求说出来,不要太在意程序员用什么语言实现,用什么方法,用什么框架.只要最终的效果达到了,就可以了.乔老爷子不也是不懂编程吗?但他是个伟大的产品经理;