• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 读《重构手册》-重构之姊妹篇有感,《重构手册》姊妹篇

读《重构手册》-重构之姊妹篇有感,《重构手册》姊妹篇

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了重构手册,语篇重构,女儿娇女儿红的姊妹篇,《西便制》的姊妹篇是,秦时明月姊妹篇等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

读《重构手册》-重构之姊妹篇有感,《重构手册》姊妹篇


      4月23日读书日,全称“世界图书与版权日”,在广州天河图书馆开了一张借书卡,借了3本书回来看,其中一本就是重构手册-《重构》之姊妹篇。为什么借了这本呢,是因为我想了解一些想象中的重构和大家认同的重构有什么不同,下面我将逐一细说这个异同。

      一、原来重构是小步前行,逐一重构

      我以前认为重构是某个项目的大部分功能重新修改架构才是重构,看完这本书才知道重构可以是对一个属性,一个方法,一个类, 多个类进行重构,可以是小的修改也可以是大的修改重构。

      二、从代码中能看出来的那些代码需要重构,但有些不能直接看出来

      只要在代码中看到一点不对劲的警示信号,但是有的无法在代码中直接看到有什么问题。就像冰箱里的发霉变质食物,有的味道很臭,有的味道有点臭,有的食物变质了但是没有臭味,这跟代码的异味很相似。

      三、重构是分重构周期的

      重构是分重构周期的,要解决代码异味越小,重构周期越小。一般是分步走的,一小步重构一点代码(可以是某个属性或某个方法),小步走,按设定的重构周期完成。

      四、重构是需要衡量是否完成的

      重构有4个简单设计:1、运行所有测试;2、不存在重复的逻辑;3、要向程序员清楚地说明对其很重要的每一个意图;4、尽量少使用类和方法。

      每重构一小部分代码,需要写单元测试去测试,也可以用高级一点的测试方法如集成测试等,如果单元测试有问题那就继续重构,这里可以想到测试驱动开发,让测试来验证代码的准确性。存在重复的逻辑那就是没有重构完成,需要把重复的逻辑去掉,如可以抽取为一个方法,多个地方调用这个方法就可以去掉重复。如果某些代码的作用没有表达清楚,那就重构代码分清各个步骤,每一行代码的用意何在,多写注释,让他人容易理解。

      五、重构是可以逆处理的

      什么是逆处理?简单点说就是重构了一些代码,但是以后某个时刻觉得不理想,需要恢复到重构之前的代码,这个恢复代码及时逆处理。

 

      读完之后对重构有了更进一步的了解,并在平常写代码的过程中都会按照重构的思路去写一些尽量不需要重构的代码,让代码质量更高。如果对重构不是很了解的话我建议还是拿到重构相关的书看看,深刻理解。以后我还会找个机会把《重构》这边书看一本,毕竟是《重构手册》的姊妹篇。

书本图片:

 

本文链接:http://www.cnblogs.com/liqw/p/6765054.html

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 读《重构手册》-重构之姊妹篇有感,《重构手册》姊妹篇

相关文章

  • 2017-05-26一个现代化的JSON库Moshi针对Android和Java,jsonandroid
  • 2017-05-26Android 支持表情功能
  • 2017-05-26高仿饿了么应用项目源码,高仿饿项目源码
  • 2017-05-26Android 指纹认证,android指纹认证
  • 2017-05-221.0 Android基础入门教程
  • 2017-05-26Android初级教程_获取Android控件的宽和高,初级教程android
  • 2017-05-26【Android开发】完美解决Android完全退出程序,开发android
  • 2017-05-26Android开发艺术探索学习笔记(十一),android艺术探索
  • 2017-05-26Android IPC机制(四):细说Binder连接池
  • 2017-05-26perf profiling 分析程序性能

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • URL转换成二维码,url
    • 安卓下如何使用JUnit进行软件测试,安卓junit
    • Hash Join与NLJOIN及MSJOIN
    • Android动态资源加载原理和应用
    • Android项目开发填坑记
    • Handler消息传递机制(二)Handler,Loop,Message,MessageQueue的工作原理
    • Android Studio添加Parcelable序列化小工具(快速提高开发效率)
    • Android Studio 无法启动模拟器的一种可能是你装的是Ghost版的系统,androidstudio
    • android 仿摩拜单车共享单车进度条实现StepView,androidstepview
    • android开发中fragment获取context,androidfragment

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有