重构!又是这个词!
记得上学的时候,老师强力推荐了一本叫做《重构》的书,我用了一个月读完了,对于这本书中介绍的各个“招式”有了感性的认识。几年的工作下来,有幸参与了几个大的项目,越发的认识到代码多到一定量级之后,写起来就越发的吃力,这时再次拾起这本书细细品味每个招式的使用场景以及使用技巧,突然有种茅塞顿开的感觉。
《大话重构》我仔细的阅读了试读章节,这本书对于重构的背景做了生动的描述,“大布局你伤不起”-“小设计而不是大布局”-“小步快跑是这样玩的”。每个小结的名字都是这么“下里巴人”,却又不失亲切。从HelloWorld开始的一个小demo,我们从中可以学到的却很多:
重构的定义:对软件内部结构的一种调整,目的是在不改变”软件之可察行为“前提下,提高其可理解性,降低其修改成本。重构就是在代码写好之后改进它的设计。 重构和添加新功能并不冲突,但是当开发者身份在两者之间切换时候,不能混淆在一起。
重构的意义:优秀设计的根本是:消除重复部分!(DRY = Don’t repeat yourself)。重构让代码更清晰, 更容易理解 ,清晰的代码可以更方便的找到bug,重构可以写出更强健的代码 ,良好的设计可以在长远时间上提高开发速度。
重构的时间:随时进行重构(在我看来,重构更是一种开发的习惯)。事不过三,代码重复不要超过三次(否则就要”抽“出来)。添加功能时候并一一重构(个人理解是,添加新功能之前,分析并重构,从而更方便添加新功能);修补错误时;code review时
重构和开发进度 :重构的意义之一也是提高开发进度。杀手锏是”不要告诉经理“。
重构的难题:
数据层(数据模型)的变更压力
修改接口
那些难以通过重构改变的设计改动
代码不能运行
项目期限压力 dead line
重构与设计: 编程不是机械的开发,(软件开发是艺术行为!) 。设计和重构的平衡(预先设计的难度和重构灵活性的平衡)
重构与性能:重构确实会在短期内降低代码执行效率,但优化阶段是可以调整的,而且调整会更容易。提前优化是万恶之源。
希望可以将以上想法在《大话重构》中得到印证!
相关推荐
5. 奈奎斯特采样定理:该定理指出,对于带限信号,只要采样频率大于信号最高频率的两倍,就能无损地重构原始信号。在手机通信中,通常采用8kHz的采样率,满足人声的频谱需求。 6. 信号数字化过程:包括采样、量化和...
读书笔记 |《大话移动通信》 读书笔记 |《大话移动通信》书籍信息书名:《大话移动通信》作者:丁奇 阳桢出版社:人民邮电出版社本书解决的问题初识移动通信构建移动通信学习基本脉络框架书籍内容结构第一章:点对点...
读完这本书《大话移动通信-丁奇》这本电子书,写一个读后感,题目是《浅谈移动通信的认识》。这本书详细讲解了移动通信的演进历史......
读书笔记:大话设计模式C++
以图像资源为例,它可能经过了压缩和编码,解包器需要正确解码这些图像,使其恢复为可读的.TGA格式。TGA是一种常见的无损图像格式,易于在多种图像处理软件中打开和编辑。 解包器的应用场景广泛,对于玩家来说,...
《大话存储》读书笔记知识点总结 《大话存储》读书笔记中,FC 协议是存储网络中的一个关键技术,本笔记涵盖了 FC 协议的各个方面,包括物理层、链路层、网络层、传输层等。 物理层:FC0 是 FC 协议中的物理层,...
用户在使用这款主题时,可以感受到电影中的角色或元素融入到日常的电脑操作中,增加了趣味性和情怀价值。 总的来说,"大话西游鼠标指针"是一个集娱乐性和实用性于一体的个性化定制工具,它允许用户通过简单的操作...
罗的庄重雕塑,还是梵高的狂放笔触,这些艺术大师的作品都在《大话西方艺术史》中得到了生动的解读。这本书以轻松幽默的语言,...通过《大话西方艺术史》,我们得以窥见艺术世界的一角,感受那些跨越时空的永恒之美。
《大话5G》是一本针对通信从业人员编写的书籍,旨在通过浅显易懂的语言阐述5G通信的复杂原理。作者通过结合自己的通信网技术积累和科普写作经验,成功地将深奥的技术知识普及化。书中不仅介绍了5G的业务场景和技术...
《大话西游2》是一款深受玩家喜爱的网络游戏,其背后有着复杂的系统和丰富的资源管理。在这款游戏中,素材的管理是至关重要的,这直接影响到游戏的视觉效果、音效体验以及整体的游戏性能。"大话素材目录.zip" 是一个...
《大话西游素材查看工具详解与应用》 在游戏开发和设计领域,素材管理是一项至关重要的工作。尤其是在中国的网络游戏领域,"大话西游"作为一款深受玩家喜爱的经典游戏,其背后的素材制作与管理自然也备受关注。本文...
读书笔记:大话设计模式
大话地图提取
针对游戏:大话西游2.0.78版本 软件功能:此版本的lua4脚本引擎 注意如果要编译大话西游2.0.78版,需要相应的将src\lopcodes-78.h 改名 lopcodes.h。 版权属于Copyright (C) 1994-2000 TeCGraf, PUC-Rio. All ...
大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf
大话云计算【高清】
《Java版大话西游源码》是一款基于Java编程语言开发的角色扮演游戏(RPG)教程,对于初学者和想要深入理解游戏开发的程序员来说,它提供了丰富的学习资源。这款教程涵盖了多线程技术和自动寻路算法等核心概念,是...
读书笔记:大话设计模式练习
大话核心网.mobi
大话数据结构 .pptx