仅仅为了可读性
引入变量是个好主意吗?
示例 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());
}
示例 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());
}
这可能是一个极端的例子,但我想你明白了。
我没有在代码中看到这个,我想知道这是否是一种有用的方法?
谢谢
背景:我正在努力从大学过渡到入门级开发人员,目前我专注于简洁的编码。
最佳答案
让代码具有可读性总是更好,只是不要在维护噩梦的地方做太多,尽管大多数干净的代码更容易维护。
我将在这里介绍两个新方法而不是变量,您的代码示例将是:
while(letterFromBothNodesAreEqual() && nameHasMoreThanOneLetter())
{
nameNode1 = nameNode1.substring(1, nameNode1.length());
nameNode2 = nameNode2.substring(1, nameNode2.length());
}
将 boolean 条件提取到具有名称的函数中是一种常见的可读性重构。如果一个人在阅读你的代码时遇到一些 if 有一堆条件,他们会想知道它的意义是什么,为什么需要分支或者它代表什么。字段本身可能无法告诉他们答案,但如果条件有名称(函数名称),他们可能知道它代表什么。
关于java - 引入变量只是为了可读性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28091766/