阅读《重构_改善既有代码的设计》

1.重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提供起可理解性,降低其修改成本。重构是“整理代码吗”,其实整理代码是重构的第一步,首先你要把字面尚的一些不规范调整过来。
2.属性控制内置
对于一个对象自身的属性,控制权需要交给这个自身对象控制。尽量不要交给外部对象控制。
比如有一个book对象,书的发布状态的判断,尽量交给这个book的method来处理,而尽量不要在外部函数调用时,进行书的发布状态判断。
2.条件判断转为state模式
3.通过子类隔离变化
4.修改接口
修改接口时,对于那些完全在你自己函数中调用的,你可以随便改。但是对于那些,已经发布的或者别其他不能修改的模块代码调用的接口,就不能随便修改接口了。正确的姿势应该是老接口调用旧接口,同样应该使用java中的deprecated,这么,其他调用者就会注意到它。同样,不能接口的函数实现,那么将出现重复代码。
5.无法进行重构的系统
无法重构的时候,就需要进行重写了,重写的讯号,现有代码根本不能正常运作了。重写的一个方法:将“大块头软件”重构为封装良好的小型组件。然后再逐一对组件作出“重构或者重写”的决定。
6.代码的坏味道
duplicated code(重复代码),long method(过长函数),large class(过大的类),long parameter list(过长参数列),shotgun surgery(霰弹式修改) lazy class ,speculative generality(夸夸其谈未来性,这是最近做项目想犯的错误,如果所有的装置都会被用到,那就值得做,如果用不到,那就不值得),
7.重构方法

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

推荐阅读更多精彩内容

  • 一个项目运行久了,经过业务需求的迭代,开发人员的变更,总会产生一些质量不高的代码,要么来源于对某些业务理解的不太深...
    高广超阅读 1,362评论 0 23
  • 上一次的读书分享活动上面,已经有几位同事已经分享了《重构》这本书的读后感,以及他们对重构的一些认识。从他们的分享上...
    贾尼阅读 1,343评论 3 2
  • 第1章 重构,第一个案例 代码块俞小,代码的功能就俞容易管理,代码的处理和移动也就俞轻松。(功能也就越单一) 任何...
    Sheh伟伟阅读 903评论 0 2
  • 最近读完了《拆掉思维里的墙》这本书,书中所描述的一些思维方式和生活总结与自己有挺多相似的地方。趁热写一下自己对这本...
    夙月阅读 636评论 0 1
  • 我已忘了家乡的雨寒 却还记得母亲的温暖 煤油灯下的针线 不知编织了多少 古老的寓言 跳动的灯影 忽大忽小 隐约闪现...
    月陵无声阅读 122评论 3 5