重构

突然觉得这项工作还是要定期去做,之前由于赶时间完成功能,有些代码写的比较乱,且随着新的需求加入,这里加点,那儿删点,修修补补的导致可能隐藏bug问题和代码的"臃肿"。后面有人接手或者加个小需求,都不太敢乱改,必须要知道这些代码是什么意思,为什么这么写,改了后会不会引入其他问题和多余的测试工作。

由于项目上线后,总会出现偶现的bugs,基本上对于复杂的代码块,测试用例没有充分覆盖到的话,后期很可能暴bugs。本来是测试都没有问题的功能,后面如果加几行代码,可能要调整代码逻辑,抽象出接口等工作,而引入新问题,所以在做这些工作前,需要先评估下。

年后遇到过两次,一个情况是发现偶现的bug去尝试修复这个问题,然后和客户端同学约定协议,然后增加十多行代码。当时只考虑到三种情况,还有一种情况没有考虑到,所以线上出了严重问题。为了修复偶现的bug却引入新问题,有点得不偿失。关于这个问题,是因为客户端和服务端对于时间的检查不一样,可能在客户端那边认为超时了我可以免费复活,而在服务器检查到没有超时故做了扣费复活,这种逻辑本来就有问题,但是因为小概率出现。修复后的代码块出问题的情况是,我超时后不复活,但后面我再也没机会复活了,因为检查时间远远大于代码中的判断期限内。

当初这块设计的有点小问题,但因为历史代码块不太好改动,所以只能稍微修改下。同样的问题反应到第二个问题。

因为第一版功能测试的没问题,后来因为加了个小的需求作为引导任务,任务的内容是进副本,需要点一下任务就完成,我这边需要解锁该副本,然后就因为是两部分功能,一个是任务,一个是副本,而且完成任务就一次机会,导致在尝试进副本的时候,如果条件不通过则不能进副本,包括解锁副本,而此时任务已经完成了,后期再也无法进了。

因为这个问题在年后的其他版本中出现,是偶现的,由于进副本前的判断逻辑较多,任何一个判断都失败,导致无法解锁。当时想改任务那块,但怕因为小需求而影响了任务模块,有点耦合吧。后来这个问题修复后,在主干测试过,在分支测试过,合到另外版本后测试过,后面没有再合到另外版本的分支上去,导致出现了问题。

可能当时写的一个接口实现行数不多,但后面慢慢加需求变复杂,比如checkxxxxx的函数,只作检查功能。可后来又加了需求要setxxxx修改数据,仅一行,单独拿出来吧,前面的逻辑可能要再写一遍,不太好分开,这个只能修改checkxxxxx重新命名。自己写代码比较严谨,考虑到可读性和健壮性,包括扩展性,能写意图明确的接口,尽量分出来。也可能当时因为赶着项目上线,一个月完成两三个大需求,连着数月十一二点下班,确实没有多余时间做这些工作。

希望以后多注意些。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容

  • 可以先看【推荐】:https://www.jianshu.com/p/d6ff54d72afb原文:http://...
    郭某人1阅读 1,848评论 0 0
  • 为什么要重构 你可能正在面对一个遗留系统,增加一个需求要改动好几个文件,定位 Bug 经常要花掉一整天时间,修复一...
    李浪溪_WaterLee阅读 5,645评论 7 30
  • 她终于来到这片远山,在平平凡凡的某个下午,在分开后的二十年。 时间过去得太久了,久到知道一个人的离去,只是轻轻的一...
    为龙为光阅读 227评论 2 0
  • 为了让标题不那么灰,我还是决定不写标题。 随着七夕的临近,心里很躁。 越是双曲循环你的歌,就愈是想你。 你说的变数...
    GandA阅读 213评论 0 1
  • 1,六岁前的人生,到底是什么样,我似乎没有一点印象。 2,六岁前的人生,因为岁月太长,我几乎快全部遗忘。 3,六岁...
    我是阿振阅读 268评论 3 3