仅仅为了介绍变量是一个好主意readability吗?
例1:
while(nameNode1.charAt(0) == nameNode2.charAt(0) && nameNode1.length() > 1 && nameNode2.length() > 1)
{
nameNode1 = nameNode1.substring(1, nameNode1.length());
nameNode2 = nameNode2.substring(1, nameNode2.length());
}
Run Code Online (Sandbox Code Playgroud)
例2:
boolean letterFromBothNodesAreEqual_andNameHasMoreThanOneLetter = nameNode1.charAt(0) == nameNode2.charAt(0) && nameNode1.length() > 1 && nameNode2.length() > 1;
while(letterFromBothNodesAreEqual_andNameHasMoreThanOneLetter)
{
nameNode1 = nameNode1.substring(1, nameNode1.length());
nameNode2 = nameNode2.substring(1, nameNode2.length());
}
Run Code Online (Sandbox Code Playgroud)
这可能是一个极端的例子,但我认为你明白了.
我没有在代码中看到这个,我想知道这是否是一个有用的方法?
谢谢
背景:我正在尝试从大学过渡到入门级开发人员,目前我专注于清洁编码.
尽管大多数干净的代码更容易维护,但是在使用代码可读的情况下总是更好,只是不要过多地执行维护噩梦.
我将在这里介绍两种新方法而不是变量,您的代码示例将是:
while(letterFromBothNodesAreEqual() && nameHasMoreThanOneLetter())
{
nameNode1 = nameNode1.substring(1, nameNode1.length());
nameNode2 = nameNode2.substring(1, nameNode2.length());
}
Run Code Online (Sandbox Code Playgroud)
这是一个常见的可读性重构,可以通过名称将布尔条件提取到自己的函数中.如果一个人正在阅读你的代码并遇到一些条件,那么他们会想知道它的意义是什么,为什么分支需要或代表什么.单独的字段可能无法告诉他们答案,但如果条件具有名称(函数的名称),他们可能知道它代表什么.
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |