提取方法:
当你有一段可以被组织起来的代码片段。
将这段代码放进一个本身的名字就可以很好的解释方法用途的方法里。
void printOwing(double amount) {
printBanner();
//print details
System.out.println ("name:" + _name);
System.out.println ("amount" + amount);
}
||
\/
void printOwing(double amount) {
printBanner();
printDetails(amount);
}
void printDetails (double amount) {
System.out.println ("name:" + _name);
System.out.println ("amount" + amount);
}
目的:
提取方法是我最常用的重构之一。 我研究那些太长或者需要注释才能被理解的代码。 然后我把那种代码片段变成一个方法。
有多个原因使我倾向于简短,良好命名的方法。首先, 当方法的力粒度很小的时候就增加了它被其他方法重用的机会。 其次,它使得阅读更高级的方法就像在阅读一系列的注释一样。 当方法的粒度很小的时候, 重写也变的更容易。
It does take a little getting used to if you are used to seeing larger methods. And small methods really work only when you have good names, so you need to pay attention to naming. People sometimes ask me what length I look for in a method. To me length is not the issue. The key is the semantic distance between the method name and the method body. If extracting improves clarity, do it, even if the name is longer than the code you have extracted.
你确实需要一点时间去习惯如果你习惯于见到大方法。小方法只有在良好命名的情况下才起作用,所以你需要注意方法的命名。人们有时候会问我方法应该要多长。 对于我来说长度不是一个问题。关键是方法名和方法体之间的语义距离。如果提取能够使得方法更清晰, 提取它, 哪怕在提取之后方法名比方法体还要长。
过程:
- 新建一个方法, 按照方法的目的进行命名(根据它做什么来命名, 而不是它如何工作)。
如果有想要提取的代码非常简单, 比如一个简单的消息或者功能调用,如果新的方法可以更好地展现代码的意 图你也应该提取这个方法。 如果你不能够找出一个更有意义的名字, 那就不要提取代码。
- 从原方法中复制提取的代码到心的方法中。
....................
分享到:
相关推荐
在Java领域,重构可以帮助提升代码的可读性和可测试性,例如,通过提取方法、提取类、引入参数对象等手法来改善代码结构。C和C++作为底层编程语言,重构可以帮助解决内存管理、性能优化等问题,使代码更加高效且易于...
- **提取方法**(Extract Method):将一段代码从一个方法中抽取出来形成一个新的方法。 - **内联方法**(Inline Method):将一个方法调用替换成该方法的主体。 - **移动特征**(Move Field):将一个字段从一个类...
Chapter 6:Composing Methods 组合方法 Extract Method 提取方法 Inline Method 内联方法 Inline Temp 内联临时变量 *Replace Temp with Query 用查询方法代替临时变量 Introduce Explaining ...
1. **提取方法**(Extract Method):将一段代码提取为独立的方法,使其具有明确的功能描述。 2. **内联方法**(Inline Method):将一个方法体替换为其调用处。 3. **移动字段**(Move Field):将一个字段从一个类...
1. **IDE支持**:现代集成开发环境(IDE)通常提供了丰富的重构支持工具,如提取方法、内联变量等功能。 2. **单元测试框架**:建立全面的单元测试覆盖,确保重构过程中代码的正确性不受影响。 3. **持续集成**:通过...
这可能涉及提取方法、引入参数对象、替换条件表达式、拆分类或方法等重构技术。同时,使用重构工具可以自动化这些过程,提高效率。 在进行重构时,我们需要遵循一些原则,如保持重构的小步快跑,每次只改变一点点,...
Chapter 6:Composing Methods 组合方法 Extract Method 提取方法 Inline Method 内联方法 Inline Temp 内联临时变量 *Replace Temp with Query 用查询方法代替临时变量 Introduce Explaining ...
在重构的过程中,开发者会遵循一系列微小的步骤,例如提取函数、移动函数、提取类等,这些步骤虽然微小,但当它们累积起来时,可以显著提高代码的可维护性和可扩展性。重构不仅是对现有代码的优化,更是对设计模式的...