gpt4 book ai didi

java - 引入变量只是为了可读性?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:33:11 24 4
gpt4 key购买 nike

仅仅为了可读性引入变量是个好主意吗?

示例 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com