动机:重命名是重构最基础的一个重构,也是最简单的重构,但是这个重构也是很重要的,它是让代码具有可读性的关键第一步,“要想成为一个真正的编程 高手,起名的水平是至关重要的“,如果你看到一个函数名称不能很好的表达它的用途,应该马上加以修改,记住,你的代码首先是为人写的,其次才是为计算机写 的。而人需要良好名称的函数。”

方法:首先考虑给这个函数写上一句怎样的注释,然后想办法将注释函数名称。

注意:

一 不要怕名字长,长度不是问题,关键在于函数名称和函数本体之间的语义距离。

二 需要规范命名的不仅是方法名,也包括类名,参数名,控件名,页面名(WebForm),尽管规范都可能不一样,但是每个团队应该有统一的规范。

示例:

/// <summary>
/// 判断是否是技术部
/// </summary>
/// <returns></returns>
public bool isScience(int DepartMentID, string id)
{DataTable dt = Attendance.getdepmentID(id);bool dtt = (from column in dt.AsEnumerable() select column["ID"]).Contains(DepartMentID);if (dtt){return true;}else{return false;}
}

首先isScience让别人看了不知道什么意思,再一个参数string id也不知道这个id是什么id,dtt也不知道代表了什么。

重构后代码如下:

/// <summary>
/// 判断是否是技术部
/// </summary>
/// <returns></returns>
public bool IfMinTech (int DepartMentID, string DepartmentIDList)
{DataTable dt = GetMinTechALLDepartmentID(DepartmentIDList);bool IsDepartmentID = (from column in dt.AsEnumerable() select column["ID"]).Contains(DepartMentID);if (IsDepartmentID ){return true;}else{return false;}
}

重构虽然简单,但是效果很明显,记住我们为人写代码,而不是为计算机写代码,如果命名不能反映代码的意图,就立即动手改掉它,否则接下来它将浪费你无数的时间在读懂和理解代码上,更可恨的是今天读懂了,过几天还要重新读和理解它。

转:http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html

重构学习1-重命名方法、类、参数等相关推荐

  1. rename python_谈谈重命名方法renames详解

    这篇文章主要介绍了python下os模块强大的重命名方法renames详解的相关资料,需要的朋友可以参考下python下os模块强大的重命名方法renames详解 在python中有很多强大的模块,其 ...

  2. 手机wps怎么改html文件后缀名,手机WPS如何制作个人简历 WPS一键修改文档重命名方法分享...

    目前有着不少的用户都是用WPS手机版,但是大多数的用户都整个APP都还不是很熟悉,比如想要制作个人简历应该怎么操作?还有应该如何修改文档重命名呢?下面就和小编一起来详细的了解下吧. 手机WPS如何制作 ...

  3. adb 重命名_Linux操作系统:三种最基本的文件重命名方法

    在我们的工作生活中,不管是程序员还是非程序员,我们都会遇到过一个需求,那就是对一堆的文件进行重命名.在Windows下有很多优秀的软件可以帮助我们完成这个需求,而在Linux环境下,我们可以简单敲一些 ...

  4. python 重命名的方法_Python下OS模块重命名方法renames

    在python中有很多强大的模块,其中我们经常要使用的就是OS模块,OS模块提供了超过200个方法来供我们使用,并且这些方法都是和数据处理相关的,这里介绍下重命名这个方法. OS的重命名方法是os.r ...

  5. adb shell 修改文件名_教你三招快速文件批量重命名方法-linux修改文件名

    在我们的工作生活中,不管是程序员还是非程序员,我们都会遇到过一个需求,那就是对一堆的文件进行重命名.在Windows下有很多优秀的软件可以帮助我们完成这个需求,而在Linux环境下,我们可以简单敲一些 ...

  6. 小酌重构系列[18]——重命名

    概述 代码是从命名开始的,我们给类.方法.变量和参数命名,我们也给解决方案.工程.目录命名.在编码时,除了应该遵守编程语言本身的命名规范外,我们应该提供好的命名.好的命名意味着良好的可读性,读你代码的 ...

  7. Java jdt 编辑_java – 如何使用JDT以编程方式重命名方法

    我认为你最有希望的方法是去eclipse源代码. >使用源代码下载所需的版本.特别是,您需要JDT插件的源代码,它包含在"经典"版本中.以下所有内容均基于4.2.1. > ...

  8. java学习(2)方法/类+成员/局部变量+private/this关键字+构造方法+标准类

    文章目录 1.方法+类 (1)创建类 (2)对象的在调用时的内存 (3)方法的参数.返回值可以是一个对象 2.成员变量和局部变量 3.private关键字 4.this关键字 5.构造方法 6.定义一 ...

  9. iOS开发-项目的完整重命名方法,图文教程。

    前言:在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.直接改项目名吧,XCODE又不会帮你改所有的名字.总是有很多文件.文件夹或者是项目设置的项.而且都是不能随便改的,有时候改着改着,编译 ...

  10. iOS项目的完整重命名方法图文教程

    前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.直接改项目名吧,XCODE又不会帮你改所有的名字.总是有很多文件.文件夹或者是项目设置的项.而且都是不能随便改的,有时候改着改着,编译 ...

最新文章

  1. CentOS系统提示用户名不在sudoers文件中
  2. Retrofit 2使用要点梳理:小白进阶回忆录
  3. python写gui导入图片并处理_Python图像处理库:Pillow 初级教程
  4. PHP登录状态判定的思路
  5. adb shell读取返回值_shell学习笔记03(函数amp;shell工具amp;面试题)
  6. 敏捷结果30天之第十二天:效率角色-你是启动者还是完成者
  7. oracle 判断是否位汉字,js判断字符是否是汉字的两种方法小结
  8. 车牌号随机函数 php,模拟生成车牌号的程序.程序运行.生成十个随机的车牌子.......
  9. 黑马程序员--java基础知识注意点收录
  10. html输入参数,传递输入参数,通过Html.ActionLink
  11. 某互联网公司数据分析岗 SQL 笔试题
  12. python官方文档中文版-主页 - Keras 中文文档
  13. ASP.NET(C#版) FileUpload控件
  14. 英雄连2一直显示连接relic服务器,英雄连2联机时出现PleaseWait问题的解决方法_英雄连2PleaseWait问题的解决方法_牛游戏网...
  15. oracle的imp导入数据,初识oracle-imp导入
  16. 【C语言每日练习】——3.回文数、特殊回文数(三种方法详解)
  17. SentencePiece,subword-nmt,bpe算法
  18. 心形一行python_《心》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
  19. 计算机读不出来u盘装系统,细说电脑重装系统u盘读不出怎么办
  20. 微信卡劵、微信卡包,必须是认证订阅号或认证服务号

热门文章

  1. Scala Actor,receive不断接收消息,react复用线程,结合case class的actor,Future使用,使用Actor进行wordCount
  2. 1.cocos2dx内存管理和CCArray,CCMenuItem
  3. UDP(socket)接和数据案例封装成C++代码
  4. 通过sqlplus执行*.sql文件时常见的问题总结
  5. 查询每个班级排名第三的学生
  6. java中md5怎么实现的_java中md5算法的实现
  7. mysql允许两个用户远程连接_mysql允许用户远程连接
  8. redis集群扩容和缩容_深入理解Redis Cluster集群
  9. Qt学习笔记之UDP编程
  10. modelsim与modelsim_altera使用的一些区别