Refactoring Day 7 : Rename (method, class, parameter)
2014-11-18 15:14
281 查看
This refactoring I use most often and is one of the most useful refactoring. All too often we do not name
methods/classes/parameters properly that leads to a misunderstanding as to what the
method/class/parameter’s function is. When this occurs, assumptions are made and bugs are introduced to
the system. As simple of a refactoring this seems, it is one of the most important to leverage.
1: public class Person
2: {
3: public string FN { get; set; }
4:
5: public decimal ClcHrlyPR()
6: {
7: // code to calculate hourly payrate
8: return 0m;
9: }
10: }
As you can see here, we have a class/method/parameter that all have very non-descriptive, obscure names.
They can be interpreted in a number of different ways. Applying this refactoring is as simple as renaming
the items at hand to be more descriptive and convey what exactly they do. Simple enough.
1: // Changed the class name to Employee
2: public class Employee
3: {
4: public string FirstName { get; set; }
5:
6: public decimal CalculateHourlyPay()
7: {
8: // code to calculate hourly payrate
9: return 0m;
10: }
11: }
methods/classes/parameters properly that leads to a misunderstanding as to what the
method/class/parameter’s function is. When this occurs, assumptions are made and bugs are introduced to
the system. As simple of a refactoring this seems, it is one of the most important to leverage.
1: public class Person
2: {
3: public string FN { get; set; }
4:
5: public decimal ClcHrlyPR()
6: {
7: // code to calculate hourly payrate
8: return 0m;
9: }
10: }
As you can see here, we have a class/method/parameter that all have very non-descriptive, obscure names.
They can be interpreted in a number of different ways. Applying this refactoring is as simple as renaming
the items at hand to be more descriptive and convey what exactly they do. Simple enough.
1: // Changed the class name to Employee
2: public class Employee
3: {
4: public string FirstName { get; set; }
5:
6: public decimal CalculateHourlyPay()
7: {
8: // code to calculate hourly payrate
9: return 0m;
10: }
11: }
相关文章推荐
- 重构之Pull Up Field ,Push Down Field 与Rename(method,class,parameter)笔记
- 重构7-Rename(method,class,parameter)
- Java 获取class method parameter name
- 重构的小故事 Rename Parameter or Method
- Cannot call static method on type parameter, even with class constraint
- maven/plugin开发:插件版本不匹配导致的报错:Method: ‘name’ not found in class in ParameterAnnotationContent
- 【转载】#324 - A Generic Class Can Have More than One Type Parameter
- Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
- Cannot refer to a non-final variable hql inside an inner class defined in a different method
- Could not find class 'android.support.v4.view.ViewPager', referenced from method***
- PullToRefreshWebView:can't find referenced method 'float floor(float)' in library class android.util
- iOS method only defined for abstract class
- RequestMapping获取class路径以及方法method路径
- Runtime基础使用场景-拦截替换方法(class_addMethod ,class_replaceMethod和method_exchangeImplementations)
- ios警告:Category is implementing a method which will also be implemented by its primary class 引发的相关处理
- java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
- No appropriate method, property, or field bags for class dataset
- Java编译错误:Cannot reduce the visibility of the inherited method from <class>
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; neste
- 添加Aop声明式事务处理java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.isUserLevelMethod