惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
Google Developers Blog
博客园 - 叶小钗
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
博客园_首页
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
Cloudbric
Cloudbric
AI
AI
N
News | PayPal Newsroom
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
SecWiki News
SecWiki News
H
Heimdal Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
V
V2EX
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
S
Security Affairs
L
LangChain Blog
The Hacker News
The Hacker News
F
Full Disclosure
aimingoo的专栏
aimingoo的专栏
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
Webroot Blog
Webroot Blog
A
About on SuperTechFans
H
Hacker News: Front Page
Cyberwarzone
Cyberwarzone
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
M
MIT News - Artificial intelligence

博客园 - niceboy

Redhat Linux 7.3 虚拟机通过USB挂载NTFS格式的移动硬盘 自己写的一个记录日常事务的小软件,也可以作为密码保险箱和提醒工具 访问IIS元数据库失败解决办法 海事卫星通信 关于GPS车载终端的研究 操作或事件已被禁用模式阻止 售前工程师的来世今生(转载自IT售前论坛的经典基础知识)【转】 用Oracle Instant client 打包Oracle客户端 Oracle数据库中 编号自动增长的实现 关于FTP端口【转】 轻松掌握使用 SQL Server 浏览器,解决SQL Server 2005跨网段不能连接问题 论《金瓶梅》与项目管理中人际关系协调 软件开发质量管理层次模型 软件开发中项目需求管理简述 软件测试的基本概念和方法 Web应用程序的整体测试 VSS使用手册 .Net 2.0新功能:重构(Refactoring)(4) .Net 2.0新功能:重构(Refactoring)(2)
.Net 2.0新功能:重构(Refactoring)(3)
niceboy · 2008-08-21 · via 博客园 - niceboy

实例

当你编写了一个代码很长的方法,它包含一些非常复杂的算法集合。在完成该方法以后,你可能意识到它变得太大和太复杂了,以至于其它小组成员无法容易地理解它。因此,你决定把它拆分成多个小函数。这不仅会简化你的代码而且还能够改进其易读和可维护性。“重构”菜单下的“提取方法”选项正是适合这一工作。

假设方法为:

            

public void TestMethod()

{

string s = "";

}

(1)用选中 string s = "";  然后点击"提取方法"菜单选项。立即出现"提取方法"对话框。

(2)按“确定”,结果如下:

            

public void TestMethod()

{

NewMethod();

}

private static void NewMethod()

{

string s = "";

}

重构为我们完成了两件事情:

◆它根据你的每一次选择创建一个新的方法并且替换其中的所有选择的代码。

◆它用一个到这个新创建方法的调用来替换选择的行。

【2】重命名

<1>提供了一种重命名代码符号(如字段、局部变量、方法、命名空间、属性和类型)标识符的简单方法.

<2>“重命名”功能除了可用来更改标识符的声明和调用以外,还可用来更改注释中和字符串中的名称.

在何处可以使用重命名操作?

<1>代码编辑器

<2>类视图

<3>对象浏览器

<4>Windows 窗体设计器的“属性网格”

<5>解决方案资源管理器

重命名执行些什么操作?

<1>字段

◆将字段的声明和用法更改为新名称。

<2>局部变量

◆将变量的声明和用法更改为新名称。

<3>方法

◆将方法的名称以及对该方法的所有引用更改为新名称。

<4>命名空间

◆将声明、所有正在使用的语句及完全限定名称中的命名空间名称更改为新名称。

<5>属性

◆将属性的声明和用法更改为新名称。

<6>类型

◆将类型的所有声明和所有用法都更改为新名称,包括构造函数和析构函数。对于部分类型,重命名操作将传播到其所有部分。

实例

假设我们需要“NewMethod”重命名为“NewMethod2”。

选中 “NewMethod” 然后点击“重命名”菜单选项。立即出现“重命名”对话框。

结果:

            

public void TestMethod()

{

NewMethod2();

}

private static void NewMethod2()

{

string s = "";

}