gpt4 book ai didi

java - 这是否被认为是代码重复?

转载 作者:行者123 更新时间:2023-12-02 13:23:22 27 4
gpt4 key购买 nike

如果我想使用 case 语句测试 enum 的多个值,并且 80%​​ 的 case 语句需要两次不同的 if 检查,这是否被认为是糟糕的编码一遍又一遍地重用该代码?

我实际上使用了 ctrl+cctrl+v,感觉代码之神会杀了我。

以下是一些观点:

switch(value) {

case value1:
{
if(something) { //do something; }

if(somethingElse) { // do something else; }

//unique for value1
}
break;

case value2:
{
//unique for value2
}
break;

case value3:
{
if(something) { //do something; }

if(somethingElse) { // do something else; }

//unique for value3
}
break;

case value4:
{
if(something) { //do something; }

if(somethingElse) { // do something else; }

//unique for value4
}
break;

case value5:
{
//unique for value5
}
break;

default:
break;

我的是从枚举中随机生成的,称为随机次数。目标是让 value 成为任意随机“值”并且完全独立于其他情况。

最佳答案

您可能希望将此重复代码放入方法中。

public void yourFunctionCall() {
//Could even pass the value if needed
if(something) { //do something; }

if(somethingElse) { // do something else; }
}

然后在您的情况下调用此方法:

switch(value) {

case value1: {
yourFunctionCall();
//or yourFunctionCall(value1);
//unique for value1
} //etc..

关于java - 这是否被认为是代码重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18127425/

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