gpt4 book ai didi

java - 简单比较还是直接比较的方法描述名?

转载 作者:行者123 更新时间:2023-11-30 08:34:00 24 4
gpt4 key购买 nike

有时会有非常简单的比较,如 equals、compareTo、... 如下:

//Status is a String, and 
if(status.equals(StatusEnum.ACTIVE.value()) && dateRegister.isAfter(LocalDate.now)){
//do something
} else {
//do something
}

但我更喜欢创建一个具有更具描述性的名称的方法,尽管我只使用过一次:

private boolean isActive(String status){
return status.equals(StatusEnum.ACTIVE.value()) && dateRegister.isAfter(LocalDate.now);
}

然后:

if(isActive(status)){
//do something
} else {
//do something
}

为这种简单的比较创建一种方法是个好主意还是好做法?

有时我觉得我创造了很多方法来提高可读性,但有些人不太喜欢....

最佳答案

当然,您在这里提出的是更好 风格。您在那里练习的是 Clean Code 的一个重要方面。这实际上是一种很好的做法。

背后的原因:您的大脑会自动花时间“创造情境”。这意味着:当您查看源代码时,您会立即开始寻找有助于您理解正在发生的事情的界限。

从这个意义上说,用于此类检查的一个小辅助方法(带有一个好名字!)可以让您的大脑几乎立即掌握正在发生的事情。

不习惯这种风格的人最初通常会拒绝它。但重点是:当您要求他们阅读此类代码时,他们通常会觉得它容易阅读;尽管他们练习不同的风格。他们不喜欢他们所看到的,但他们阅读它没有问题!

将其与反向实验进行比较:当您开始以他们的风格阅读“他们的”代码时……您很快就会发现他们的代码更难阅读。其他人也一样。因为你的大脑必须处理“更少”的输入。情况变得更糟:当人们习惯于读/写其他可读性较差的风格时……经常发生的是他们训练大脑忽略此类结构。换句话说:他们接受“糟糕的风格”......因为他们被训练成不要看得太近。说真的,还有什么比这更糟糕的呢?

是的,最后你甚至可能有一些“更多”的代码需要阅读;但它的结构非常好这一事实仍然意味着:最终需要更少的努力。

当然,还有副作用:如果您不将此类代码放入实用方法中,那么人们就会开始使用复制和粘贴。因为您可能需要在多个地方进行此检查。这才是真正痛苦的开始。代码重复从来都不是一个好主意;如果可以通过创建更易于阅读的代码来避免这种情况……那么这就是正确的方法。

关于java - 简单比较还是直接比较的方法描述名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39118991/

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