코드 냄새 130 - AddressImpl

인터페이스를 구현하는 클래스를 보는 것이 좋습니다. 그것이하는 일을 이해하는 것이 더 좋습니다

Code Smell 130 - AddressImpl

TL;DR: Name your classes after real-world concepts.



문제


  • 결함

  • 솔루션


  • 다음을 사용하여 올바른 이름 찾기

  • 문맥



    일부 언어는 좋은 모델 명명에 반대하는 관용구와 일반적인 사용법을 가져옵니다.

    우리는 이름을 신중하게 선택해야 합니다.

    샘플 코드



    잘못된




    public interface Address extends ChangeAware, Serializable {
    
        /**
         * Gets the street name.
         *
         * @return the street name
         */
        String getStreet();
        //...
    }
    
    //Wrong Name - There is no concept 'AddressImpl' in real world
    public class AddressImpl implements Address {
        private String street;
        private String houseNumber;
        private City city;
        //..
    }
    

    오른쪽



    //Simple
    public class Address {
        private String street;
        private String houseNumber;
        private City city;
        //..
    }
    
    
    //OR
    //Both are real-world names
    public class Address implements ContactLocation {
        private String street;
        private String houseNumber;
        private City city;
        //..
    }
    

    발각



    [X] 자동

    이것은 네이밍 냄새이기 때문에.

    정규식을 사용하여 검색하고 이러한 개념의 이름을 바꿀 수 있습니다.

    태그


  • 네이밍

  • 결론



    필수 전단사에 따라 클래스 이름을 선택해야 하며 우발적인 구현을 따르지 않아야 합니다.

    인터페이스에 I를 호출하지 마십시오.

    처지











    더 많은 정보




  • 학점



    사진 제공: Paula Hayes on Unsplash


    Encoded names are seldom pronounceable and are easy to miss-type.



    로버트 C. 마틴






    이 기사는 CodeSmell 시리즈의 일부입니다.


    좋은 웹페이지 즐겨찾기