请输入您要查询的百科知识:

 

词条 代码重构(VisualBasic版)
释义

在这本独一无二的书中,《代码重构(Visual Basic版)》作者向您介绍如何利用重构改进现有代码的设计,使之变得更有效和更具生产力。它提供了实用方法,所以您可以快速学会如何使用重构工具和功能来管理和修改代码。《代码重构(Visual Basic版)》还介绍了如何进行单元测试、重构模式和重构升级原有的Visual Basic 代码

书名:代码重构(VisualBasic版)

作者:(美)阿瑟诺维斯基

原版名称:Professional Refactoring in Visual Basic

译者:冯飞

ISBN:9787302200840

类别:编程语言与程序设计

页数:486

定价:68

出版社:清华大学出版社

出版时间:2009-05-01

装帧:平装

开本:16开

内容简介

《代码重构(VisualBasic版)》还介绍了如何进行单元测试、重构模式以及重构升级原有的VisualBasic代码。在学习《代码重构(VisualBasic版)》的过程中,将从头开始构建原型应用程序。然后,利用重构技术将代码转换为正确设计的、企业级的应用程序。《代码重构(VisualBasic版)》作者将手把手地教您每个过程,同时提供了专家级的编码技巧。然后,可以将这些信息应用到由于公司扩张、策略改变或类似业务决策所引起的实际情形中。

编辑推荐

在这本独一无二的书中,《代码重构(VisualBasic版)》作者向您介绍如何利用重构改进现有代码的设计,使之变得更有效和更具生产力。《代码重构(VisualBasic版)》提供了实用方法,这样您将快速学会如何使用重构工具和功能来管理并修改代码。

《代码重构(VisualBasic版)》主要内容

组装重构工具箱的步骤

如何激活explicit和strict编译器选项

错误处理的有效策略

如何消除无用代码、缩小作用域以及删除无用的引用

方法合并和提取技巧

高级面向对象概念和相关重构

利用LINO和其他VB2008增强功能的技巧

核心重构和基本代码味道

如何利用免费的Refactor!VisualBasic插件

VisualBasic特定的重构和味道

《代码重构(VisualBasic版)》读者对象

《代码重构(VisualBasic版)》适用于熟悉基本的面向对象概念、Visual:Basic以及VisualStudio环境的中高级编程人员、开发人员或是NET软件架构师。

目录

第Ⅰ部分 重构的介绍

第1章 重构的全面介绍

1.1 重构的快速浏览

1.1.1 重构过程

1.1.2 软件行业现状概述

1.2 重构过程的详细介绍

1.2.1 代码味道的使用

1.2.2 代码的转换

1.2.3 重构的优点

1.2.4 澄清一些常见的误解

1.3 VisuallBasic和重构

1.3.1 VisualBasic的发展史和遗留问题

1.3.2 VisualBasic的演变

1.3.3 通过重构处理遗留的问题

1.4 小结

第2章 重构的初体验

2.1 CaloriesCalculatoi样本应用程序

2.1.1 CaloriesCalculator应用程序

2.1.2 需求的增长:计算理想的体重

2.1.3 需求的增长:保存病人的数据

2.2 运用中的重构

2.2.1 将:BtnCalculateClick方法分解

2.2.2 发现新的类

2.2.3 限制Patient类的接口

2.2.4 将条件逻辑放到Patient类中

2.2.5 创建Patient类的层次结构

2.3 保存功能的实现

2.3.1 保存数据

2.3.2 实现显示病人历史信息的功能

2.4 CalOriesCalculator重构过的版本

2.5 小结

第3章 组建重构的工具箱,

3.1 使用自动化的重构工具

3.1.1 JetBrains提供的ReSharper

3.1.2 WholeTomato提供的VisualAssistX

3.1.3 DeveloperExpress提供的Refactor!Pro

3.1.4 从Refactor!开始入手

3.1.5 进一步探讨VB用户界面的Refactor!

3.1.6 快速浏览:可供使用的重构

3.2 单元测试的基本内容:测试的护具

3.2.1 单元测试架构的出现

3.2.2 NUnit的初体验

3.2.3 NUnit的安装

3.2.4 第一个测试的实现

3.2.5 测试驱动的方法

3.2.6 需要考虑的其他测试工具

3.3 关于版本控制的一些问题

3.4 小结

第4章 Rent.a.Wheels应用程序的原型

4.1 会见客户

4.1.1 会见经理

4.1.2 会见前台接待员

4.1.3 会见停车场的服务人员

4.1.4 会见维护人员

4.2 采取Rent.a.Whneels项目中最初的步骤

4.2.1 参与者和用例

4.2.2 汽车的状态

4.2.3 首次拟定主要的应用程序窗口

4.2.4.Rent.a.Wheels开发团队的会议

4.3 让原型运转

4.3.1 检查数据库模型

4.3.2 检查VisualBasic的代码

4.4 快速而高效的VB编程方法

4.4.1 数据库驱动的设计

4.4.2 基于GUI的应用程序

4.4.3 事件驱动的编程

4.4.4 快速应用程序开发(RAD)

4.4.5 复制,粘贴作为代码重用的机制

4.5 通过重构过程从原型进入到交付

4.6 小结

第Ⅱ部分 VB重构的初步知识

第5章 Chameleon语言:从静态弱类型化到动态强类型化

5.1 OptionEXplicit和OptionStrict的.NET影响

5.2 在不严格的代码中设置ODtiOnExplicitOn

5.2.1 理解SetOptionExplicitOn重构

5.2.2 将Rent.a.Wheels代码重构成显式的形式

5.3 在不严格的代码中设置ODtionStrict0n

5.3.1 一个有点人为的随意的VB代码示例

5.3.2 通过新变量的定义来解决变量的复杂用法

5.3.3 推断变量的类型

5.3.4 通过类型转换函数将所有内容整合在一起

5.3.5 方法、字段、属性和其他成员的处理

5.3.6 将SetOptionStrictOn重构运用到Rent.a.Wheels应用程序中

5.4 静态类型化对动态类型化及其与ⅥsualBasic的关系

5.4.1 VisualBasic6及其之前版本中的后期绑定

5.4.2 鸭子类型化

5.4.3 在文件层次上重设动态行为或静态行为

5.4.4 为动态代码提供一个静态类型化的封装器

5.5 激活显式而严格的编译器选项

5.5.1 在Proiect.Properties窗口中设置选项

5.5.2 更改VisualBasic编译器的默认行为

5.5.3 在源文件中设置选项

5.5.4 使用项模板来设置选项

5.6 小结

第6章 错误处理:以一些简单的步骤从传统风格步入到结构化风格

6.1 传统的错误处理和结构化的错误处理

6.1.1 传统的(非结构化的)错误处理

6.1.2 结构化的错误处理

6.2 结构化错误处理的好处

6.2.1 结构化的代码和非结构化的代码

6.2.2 作为类型而不是数字出现的异常

6.2.3 错误过滤

6.2.4 Finally代码块

6.2.5.NET的互操作性

6.3 用Try.Carch.Finally取代OnE1TOt.构造

6.3.1 理解关键字When

6.3.2 用Try.Catch.Finally替换OnError的重构步骤

6.3.3 用Try.Catch.Finally构造替换OnErrorGoto标签

6.3.4 用Try.Catch.Finally构造替换OnErrorResumeNext

6.4 用异常类型替换错误代码

6.4.1 用异常类型替换系统错误代码

6.4.2 用异常类型来替换自定义的错误代码

6.5 Rent—a—Wheels应用程序中的错误处理

6.6 小结

第7章 基本的代码卫生:消除无用代码、降低作用域、使用显式导入以及删除不用的引用

7.1 删除无用代码

7.1.1 无用代码的类型

7.1.2 无用代码常见的来源

7.2 降低过度曝光的元素的作用域和访问级别

7.2.1 作用域和访问级别

7.2.2 过度曝光常见的来源

7.2.3 处理过度曝光的问题

7.3 使用显式导入

7.4 删除未使用的程序集引用

7.5 Rent.a.Wheels应用程序中的基本卫生

7.6 小结

第Ⅲ部分 标准重构转换的初步介绍

第8章 从问题域到代码:消除差距

8.1 理解问题域

8.1.1 第1步:收集信息

8.1.2 第2步:就词汇表达成一致意见

8.1.3 第3步:描述交互作用

8.1.4 第4步:建立原型

8.2 命名的指导原则

8.2.1 大写风格

8.2.2 简单的命名指导原则

8.2.3 顺畅地传递信息:选择正确的单词

8.2.4 Rename重构

8.3 发布接口和公有接口

8.3.1 自包含的应用程序与可重用的模块

8.3.2 修改公有接口

8.3.3 Refactor!中的SafeRenam重构

8.4 Rent.a.W1aeels应用程序中的Rename和SafeRename重构

8.5 小结

第9章 对重复代码进行方法提取

9.1 保持封装代码和隐藏细节的原因

9.2 信息和实现的隐藏

9.3 分解方法

9.3.1 周长计算——长方法的一个示例

9.3.2 提取周长计算的代码

9.3.3 提取计算半径的代码

9.3.4 提取WaitforUsertoClose代码

9.3.5 提取读取坐标的代码

9.3.6 Refactorl中的ExtractMemod重构

9.4 重复代码的味道

9.4.1 重复代码的来源

9.4.2 复制/粘贴编程

9.5 幻数

9.6 Rent.a.wheels应用程序中的ExtractMethod和ReplaceMagicLiteral重构

9.7 小结

第10章 方法合并与方法提取的技术

10.1 临时变量的处理:

10.1.1 MoveDeclarationNearReference重构

10.1.2 MoveInitializationtoDeclaration重构

10.1.3 SplitTemporaryVariable重构

10.1.4 InlineFemp重构

10.1.5 ReplaceFempwithQuery重构

10.2 方法重组的试探

10.3 方法重组与Rent—a.Wlleels

10.3.1 删除Rent.a.wheels中的重复

10.3.2 Rent.a.Wheels中的幻数、注释以及事件处理盲区

10.4 小结

第Ⅳ部分 高级重构

第Ⅴ部分 重构的运用

……

序言

前几天,我观看了一部关于南美电影导演FabianBielinsky的纪录片,我特别注意到他在一次访谈中与观众共同分享的一些想法。他说在拍摄场景时,通常发生的情况是摄制的场景可能并不是导演原来想象希望能得到的。有时候,需要重新拍摄场景直到导演获得最初想要的场景为止,而在其他一些情况下,有些场景可能是唾手可得的,甚至认为这可能比最初的构思要更好。因此,他总结道,制作电影的真正艺术在于明智地决定什么时候需要重做,什么时候只要使用第一次获得的场景即可。

令人意外的是,虽然这是电影制作的情形,但编写组件的代码与摄制场景也是非常相似的。总是可能获得比给定算法更好的方法。因此,出于时间安排、预算、交付责任日期以及通常的用户满意度的考虑,有着管理人员头衔的人必须决定在什么时候冻结所有可能的改进以及什么时候继续并获得更多的改进。

因此,这里将说明重构的需求问题。首先定义重构在软件行业术语中的含义(非正式的,作者将更好地定义):重构是一系列用于改善代码片断质量(可理解性、可维护性、模块性、可扩充性等)的技术和机理,方法是以保持通常行为固定不变的方式来重新组织语句。换言之,受影响组件的行为不应该随着过程的后果而是随着它们的质量而变化,并希望增加其寿命。

精彩书摘

第Ⅰ部分 重构的介绍

第1章 重构的全面介绍

如果查看任何主要的集成开发环境(IDE),那么就可能在某些地方发现“重构”选项。如果继续跟随编程群体的开发行为,那么肯定会发现很多与该主题相关的文章和书籍。对于某些人来说,自设计模式开始,重构就是编程过程中最重要的新生技术。

与其他时尚的东西不同,因为重构可以帮助编程人员和编码员更好地工作且更有成效,所以他们都很乐于接受并热心传播这项技术。毫无疑问,不管使用的是什么工具、编程语言或正在开发的程序类型,重构的应用已经成为编程人员日常工作中非常重要的部分。Visual Basic就是其中之一:此时,在通常的编程群体中流行的重构浪潮也一样发生在VisualBasic群体内部。

在本章中,将:

首先介绍什么是重构以及它之所以重要的原因,然后讨论了重构带来的一些好处。

此外还澄清了一些关于重构最为常见的错误看法。

在本章第二部分中,简单介绍了Visual Basic作为编程语言的详细情况,以及对于 Visual Basic编程人员而言,由于一些与Visual Basic相关的历史问题,重构是如何更加密切相关的。

下面首先介绍一些与重构相关的背景。

1.1 重构的快速浏览

在处理某些编程任务的时候,可以使用很多方法来完成。首先,了解这样的概念,但是随着进一步了解细节信息,都会不可避免地碰到这些问题:“是否应该把这种方法放到类中或可能的其他类中?是否需要一个类作为一种类型来代表这种数据或是否很好地使用了原始的概念?是否要把这个类分成多个部分?两个类之间是否存在继承关系或是否应该只是使用组合(composition)?”如果与其他同事分享这些想法,那么可能会听到更多关于设计系统的方法。然而,一旦决定使用某种方法,那么后面如果要修改最初的决定将付出昂贵的代价。重构将教读者如何高效率地修改代码,这样将把因为这些修改而产生的影响保持在最低水平。此外,重构还将帮助把设计看作是在项目任何阶段都可以处理的问题,而不是从一开始就一成不变的。事实上,可以通过灵活的方式处理设计的问题。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/1 2:04:09