开发人员和老项目的相爱相杀

开发人员和老项目的相爱相杀

点击此处添加图片说明文字

一、开发者的老项目宿命

作为软件开发人员,基本上都讨厌接手老项目,可是,开发者的宿命就是:你别无选择,终归要和一个老项目相爱相杀。

在阅读、修改的过程中时常会有奔溃的赶脚啊!

然而我们真的不能不管老项目吗?

答案是:不能!不能!不能!

原因很简单:一个项目,一旦发布上线,交付使用,就会成为老项目,但是它的声明周期却不会结束,紧接着就是修复 Bug 、添加功能、性能优化等等。

所有的新项目,终归都会成为老项目!

所以,从这个角度上讲,即便从头开始做了一个新项目,做着做着就成了老项目。

老项目就是开发者的宿命,你终归要和一个老项目相爱相杀,不是现在,就是将来,无法选择。

那么我们能做的,就是以一个什么样的姿态来面对老项目。

二、如何与老项目恋爱

当我们无可避免的要与老项目恋爱时,怎样才能让自己愉快一点呢?

请尝试以下几点:

1、用学习型心态来面对

2、不断设立小目标

3、迭代式重构

4、记录你的经历和思考

尽人事听天命

学习型心态

这点是最重要的,我们要多想想:通过解决 Bug 、二次项目开发等,我能从这个老项目中学到什么。

比如你有可能学到这些:

1、业务逻辑

2、好的软件架构设计

3、不好的设计

4、我之前未接触过的技术

5、如何重构

保持一个学习型的心态,以解决问题为目的,关注如何解决问题,关注自己在解决问题中可以收获什么。

如果你拥有这种心态,开发工作就会有趣一些。如果你是消极心态,总骂着靠,怎么这么多烂 Bug ,什么烂代码,我要崩溃了!,那你的工作就充满了撕扯、抗拒以及各种不愉快。

不断设立小目标

对于老项目的维护和开发,要化整为零,每次解决一个小问题,每次给自己一个小目标,这样比较现实,Bug 、需求等小目标实现了,也会给自己一些正向激励。

如果目标太大,就拆分开,一两天完成一个小的,让自己不断有成就感,这样就容易坚持下去。

有时你接手老项目,很长时间就是阅读代码,那这个时候,就给自己定一些目标,比如两天了解认证鉴权的逻辑,再接下来了解这些逻辑和代码的映射关系这样一头大象就可以一口一口的吃,不至于无从下嘴。 如果你自己无法分解你的目标,就和同事讨论,或者比你技术高的人请教,一起讨论出一些目标,再一起拆分成小目标。

迭代式重构

相信有不少朋友和我一样,看到不顺眼的代码,阅读时拒绝感很强烈,总想着重写、重写、重写,以为自己出手重写一遍,世界就会美妙起来。

但是后来我发现,当把所有要支持的功能都叠加进去,所有意外情况都处理了,之后重构出来的代码,居然和原来我讨厌的老代码差不多了

所以,现在我知道,在我想推倒重来之前,要先了解状况:

1、这个项目的需求是什么

2、老代码的历史是什么

3、老代码是如何走到今天的,中间处理了什么状况

4、如果局部重构,该从哪里开始

虽然开发者很重要的一部分工作是做设计写代码,但实际上,阅读代码是比写代码更重要的能力。当你搞不明白一份老代码的意图时,贸然推倒重写,往往会陷入泥沼。

所以,最现实的策略就是,每次都结合你要修改的功能或者 Bug ,设定较小的重构目标,比如改几个函数,改两个类的接口等等,这样既容易实现,又能够让老项目慢慢变好。日积月累,这样微小的重构就可能发生巨大的作用。

记录你的经历和思考

我们很讨厌别人的代码没有文档、注释,可是我们自己的代码往往也是如此。比如自己去看自己两月前的代码,你可能都会讨厌它们,相见不相识。

所以,当你接手老项目,有一项非常重要的工作可以做,就是记录你的经历和思考,显性化你取得的进展。

在你理解老项目业务逻辑、代码逻辑,修复 Bug ,新增功能的时候,把必要的注释加上,把核心的逻辑流程绘制出来,把不全或缺失的设计文档补上

这样做有巨大好处:

1、自己能看到成果,有正向激励作用

2、方便自己以后维护,提高效率

3、方便其他人维护

4、提升项目代码质量,降低整体成本

这也是一个自我成长的方式,只有记录和思考,你才能不断复盘项目复盘自己,才能每做一件事情都有收获。

要对自己负责

假如,你面对的情况非常特殊,你的努力几乎改变不了根本问题,很难取得突破,那这个时候,心态也要放平,要有尽人事听天命的豁达。

活人不能被老项目逼死,对吧,尽力去做,真做不好,可以尝试换个角度、换个项目再做做看。

不要过分苛责自己,也不要因此认为自己能力不行。这个老项目你搞不定,只能说明你在这个项目上失败了,你理解老项目遇到了困难,它真的不能说明你这个人就彻底不行。你可能很善于做技术探索,很善于架构设计,精于某类算法我们得客观评价自己,知道自己的长处在哪里,努力把自己放到能发挥自己长处的项目中去。

我们要秉持着专业精神,争取解决问题创造价值,但另一方面,也一定要对自己负责,不要把自己逼死。

如果你觉得老项目真真是让人难以忍受,多看一天人生就多灰暗一天,那就尝试离开这个项目。

西安尚学堂 http://www.xasxt.com/

Java零基础就业班

上课地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼

咨询电话:029-62258374 QQ 2145598324

招生对象:

1. 零计算机编程基础学

2. 对行业不满意人士

3. 跨专业编程爱好者

4. 在校大学生实训

Java零基础班,10年 Java 以上开发经验技术讲师、架构师、行业大牛,亲自纯面授课程,手把手教你写编程。

10月新班免费试听课程已就绪,7天免费听课,体验Java乐趣。

免责声明:本文作者:“西安尚学堂”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(4)
什么是Java 西安尚学堂
上一篇 2024年02月02日
浙江卧龙电气(上虞卧龙集团上班怎么样)
下一篇 2024年02月02日

相关推荐

  • 公务员体检项目(考公务员体检有哪些项目)

    各省、自治区、直辖市和新疆生产建设兵团人力资源社会保障厅(局)、卫生计生委、公务员局,国务院各部委、各直属机构人事(干部)部门:...

    2023年11月04日
  • 布达拉宫在哪里(布达拉什么意思)

    “布达拉”是梵语中观音所居之地“普陀”的音译,意思是“佛教胜地普陀山”,布达拉宫这座无与伦比的神宇宫阙被誉为“世界十大土木石杰出建筑”。布达拉宫,最初为吐蕃王朝赞普松赞干布为迎娶尺尊公主和文成公主而兴建。坐落于中国西藏自治区的首府拉萨市区西北...

    2023年11月07日
  • 郭德纲mp3(郭德纲济公传mp3)

    1.郭德纲mp3,郭德纲济公传mp3?郭德纲济公传全集是分两部分的,一部分是16集的,还有6集的电台版。一共是16+6!快下吧济公传0.mp3济公传1.mp3济公传2.mp3济公传3.mp3济公传4.mp3济公传5.mp3济公传6.mp3济公...

    2023年11月22日
  • 最浪漫的求婚(你见过最浪漫的求婚是什么)

    我见过很多求婚场景,男生在女生的必经路口点燃心型蜡烛,男人手捧玫瑰花,手捧戒指单膝跪地,电视节目中男主女主甜蜜牵手,温馨相拥……...

    2023年11月24日
  • 碗莲(碗莲可以用根繁殖吗)

    碗莲的种植方法有2种,一种是种藕种植,种藕在3月份就可以种了;另一种就是种子繁殖,种子要在5月份天气特别暖和的时候进行,这个时候出芽率高,更容易成活。1、种子开口处理2、用温水浸泡催芽3、上盆定植碗莲4、碗莲定植后养护。碗莲通常要等到立叶后,...

    2023年11月27日
  • 狗的象征意义(狗狗舔我的手是想吃手还是表达爱)

    养狗狗的人都深有体会,狗狗非常喜欢舔自己,不管是手还是脸,然而,你知道狗狗这个行为的背后却蕴含着这么多有趣的意思么?...

    2023年11月28日
  • qq游戏够级记牌器(多乐够级少于10张怎么算)

    开点的时候出4,就是5张10,4张J,3Q,2k,2A,或者更多的牌(例如6个10)出完之后没被打,这时候就可以出4开点了,这些都是点牌,如果觉得自己开不了点的话就提前出4也行,那就代表你不开点了。...

    2023年11月30日
  • 右眼跳是什么预兆(女生右眼皮跳是什么预兆)

    女生的右眼皮跳没手什么预兆,眼皮跳是因为眼部肌肉痉挛所造成的,人们常说的左眼跳财,右眼跳灾,没有科学依据,不要过度的相信,如果眼皮经常跳动,可以用温毛巾进行热敷或者是按摩,也可以口服点营养神经的药物,如维生素b1或者是维生素b12。...

    2023年12月05日
  • 无可奈何花落去 似曾相识燕归来的意思(这句话是什么意思)

    花儿总要凋落是让人无可奈何的事,那翩翩归来的燕子好像曾经见过。美好的事物无法挽留,只不过是似曾相识而已。...

    2024年01月07日
  • 东直门附近酒店(北京十大粤菜馆排名)

    在北京的粤菜馆中,这家店的评价是非常高的,它位于建国门外大街1号国贸大酒店4层,装修的风格很有格调,清新素雅,服务也贴心,比较推荐的菜品有酿焗鲜蟹盖、当红脆皮鸡等。...

    2024年04月08日
返回顶部