博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重构学习1-重命名方法、类、参数等
阅读量:6050 次
发布时间:2019-06-20

本文共 1132 字,大约阅读时间需要 3 分钟。

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

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

注意:

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

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

示例:

/// /// 判断是否是技术部/// /// 
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也不知道代表了什么。

重构后代码如下:

/// /// 判断是否是技术部/// /// 
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://eixex.baihongyu.com/

你可能感兴趣的文章
SSKeychain在iOS中的原理和使用说明
查看>>
java4j配置和使用
查看>>
实现MySQL/MariaDB读写分离的中间件--MySQLRouter和Proxysql
查看>>
echarts x轴类目同名,导致markPoint错位
查看>>
技术教育的兴起
查看>>
闭包函数与全局变量
查看>>
solr6.6的Facet和Group之间的区别
查看>>
分析spring源码第六篇:ApplicationContext
查看>>
BashShell基本脚本构建
查看>>
CentOS7安装g++
查看>>
linux安装MySQL
查看>>
javascript--Object操作
查看>>
达达-高性能服务端优化之路
查看>>
HTTP报文
查看>>
Java基础String处理
查看>>
基于腾讯Angel的LDA*入选VLDB,超越微软LightLDA
查看>>
Java8特性——Lambda表达式
查看>>
mysql QPS TPS
查看>>
linux下apache+SVN搭建完美版
查看>>
阿里云新装数据库无法连接
查看>>