理解:重命名就是把一些函数、字段、类、参数的名称 重命名为易于理解,最好是和自身的意义相同的名称。这样更易于理解,也可以减少大量的注释,名字即含义。

详解

这个重构方法是我经常也是最常用的一种。我们经常给函数、类、字段等命名为一些难以理解,没有实际意义的名称,这样过段时间或者别人看你写的代码的时候,就很难理解到底是干什么的,还要花一番功夫去追根溯源。

看看下面的代码:

 public class Person
     {
         public string FN { get; set; }

         public decimal ClcHrlyPR()
         {
             // code to calculate hourly payrate
             return 0m;
         }
     }

过段时间回头看看,假如不看类名,你能知道FN啥意思?ClcHrlyPR 函数到底是干啥的?一头雾水

再看看重构后的代码:

     public class Employee
     {
         public string FirstName { get; set; }

         public decimal CalculateHourlyPay()
         {
             // code to calculate hourly payrate
             return 0m;
         }
     }

现在无论过多久或者任何一个程序员看了,都知道这个一个员工类,有一个属性是职员名称,有一个方法是用来计算时薪的。一目了然。其实这个工作我们最好在我们第一次写代码的时候就用起来反而更好。

重构第7天 重命名(Rename )的更多相关文章

  1. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  2. 重构第28 天 重命名bool方法(Rename boolean method)

    详解:本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数. 理解: 我们现在要说的重构并不是普通字面意义上的重构,它有 ...

  3. C# rename方法重命名文件

    记得C# File类中是没有rename这个方法 所以网上很多都用的是move moveTo copy+delete等这些方法 其实以上的方法 虽然可以实现功能 但看起来总觉得很蛋疼 今天百度 突然发 ...

  4. mysql 命令重命名表RENAME TABLE 句法

    mysql 命令重命名表RENAME TABLE 句法 RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO new_tbl_name2,...]更 ...

  5. SharePoint 2013 重命名网站集名称(SharePoint 2013 rename site collection)

    最近使用SharePoint中,遇到一个需要重命名网站集的需求,主要是网站用数据库备份/还原的方式,想要改网站集的地址,然后搜了一下PowerShell: $site = Get-SPSite -Id ...

  6. (转载)myeclipse项目名称重命名

    myeclipse项目名称重命名 实例1 今天晚上在做一个jsp唱片显示的实例,myeclipse项目名称原本想写music结果写成了musci.这就需要项目名称的重命名,单纯的使用 “重构--> ...

  7. R 单变量重命名与删除

    单变量重命名 b = rename(b,c(target="flag")) 单变量删除    b = b[,names(b)!='age'] 或者 b[,"age&quo ...

  8. wordpress上传图片时重命名--修改插件时遇到的一些问题

    wordpress是用php语言开发的博客平台,它扩展性强,容易扩展,很适合拿来做二次开发. 1,问题由来 本周五,我在浏览公司的网站(基于wordpress开发)时发现,网站首页上有两篇文章的缩略图 ...

  9. Java 实现批量重命名,亲测可用(精简版)

    之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写 ...

随机推荐

  1. 4.5 .net core下直接执行SQL语句并生成DataTable

    .net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs& ...

  2. 上传和设置Mime类型

    这两天一直在忙把主页上传的事,幸亏不久前花七块钱买了一年的数据库和虚拟主机,昨天上传了自己的个人主页,发现很多问题要改,因为代码一直没整理就那么放着了,大部分东西都要重新弄,然后把本地数据库的数据迁移 ...

  3. winform下如何实现右下角弹窗效果

    [DllImport("user32")] private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, in ...

  4. socket-自我总结(2)

    这里总结下一个服务端与多个客户端之间的通信. 先看demo: #/usr/bin/env python #_*_coding:utf-8_*_ __author__ = 'ganzl' import ...

  5. centos7引导项修复

    每次装了双系统,都会发现原来的windows引导项不见了,这让我这个windows重度依赖者情何以堪,所以,必须要把我挚爱的windows给找回来. 翻看了一些网上的教程,看来这并不是一个困难的问题. ...

  6. 【poj1985】 Cow Marathon

    http://poj.org/problem?id=1985 (题目链接) 题意 求树上两点间最长距离.题目背景以及输入描述请见poj1984. Solution 树的直径. 代码 // poj198 ...

  7. HTML学习笔记——frameset和marquee

    1>frameset 效果如百Google度 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. vb6 关闭显示器

    Option Explicit Private Const WM_SYSCOMMAND As Long = &H112 Private Const SC_MONITORPOWER As Lon ...

  9. 【转】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  10. Spring4 MVC文件下载实例

    这篇文章将向您展示如何使用Spring MVC4执行文件下载,我们将看到应用程序从文件系统内部以及外部文件下载文件. 本教程的主要亮点: 下载文件是相当简单的,涉及以下步骤. 创建一个InputStr ...