Avoid using specific implementation types

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: java-best-practices/loose-coupling

Language: Java

Severity: Notice

Category: Best Practices

Description

Relying on particular implementation types, such as, HashSet or LinkedList can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.

It is recommended to opt for general types such as Set or List when declaring variables and parameters.

Non-Compliant Code Examples

import java.util.ArrayList;
import java.util.HashSet;
import java.util.HashMap;

public class Foo {
    private ArrayList<SomeType> list = new ArrayList<>();

    public HashSet<SomeType> set = new HashSet<SomeType>();

    public HashMap<SomeType> getMap() {
        return new HashMap<SomeType>();
    }    
    public String foo(HashMap<String, String> map) {
        return map.get("foo");
    }
}

Compliant Code Examples

import java.util.ArrayList;
import java.util.HashSet;
import java.util.HashMap;

public class Foo {
    private List<SomeType> list = new ArrayList<>();

    public Set<SomeType> set = new HashSet<SomeType>();

    public Map<SomeType> getMap() {
        return new HashMap<SomeType>();
    }
    public String foo(Map<String, String> map) {
        return map.get("foo");
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis