반응형

Rule

    메서드- 규칙 40 메서드 시그니처는 신중하게 설계하라.

    메서드를 설계할 때 주의해야 할 부분과 좋은 개선 방안에 대한 이야기를 살펴보겠다. 1. 메서드 이름을 신중하게 고르라. - 개발을 진행하면서 어려운 부분중에 네이밍 규칙이 꼽히는 것 같다. 메서드뿐만 아니라 변수를 선언을 할 때에도, 이름을 지어야하는데 쉽지 않은 것 같다. - 일관성을 유지해야하고, 일반적인 이름을 사용하지 않아서 혼돈을 격을 수 있는경우를 피해야한다. 2. 편의 메서드(convenience method)를 제공하는데 너무 열 올리지 마라. - 자주 사용하는 메서드를 정의하기 위해서 우리는 CommonUtil등에 정의를 하여 공통으로 사용할 수 있도록 하는경우가 많다. - 하지만 이는 유지보수, 테스트와 같은 여러 측면에서 번거로움이 생길 수 있기에 그럴지 모르겠다면 빼버려라. 3. ..

    클래스와 인터페이스 - 규칙 16 계승하는 대신 구성하라.

    상속은 코드를 재사용 할 수 있도록 돕는 강력한 도구이지만, 항상 최선이라 할 수 없다. 제대로 구현하지 못한 경우 문제를 유발할 가능성이 크기 때문이다. 그리고 같은 패키지 내부에 존재하는 클래스를 상속받아야한다. 상속은 일반적으로 캡슐화 원칙을 위반한다. 그 이유는 상위클래스의 일부 개념이 변경될 경우, 하위클래스는 그대로 영향을 받을 수 밖에 없기 때문이다. 이를 예방하기 위해서는 문서를 제대로 구현해 놓아야 한다. 문제가 야기될 수 있는 상황은 다음과 같다. 1. 기존의 재정의 하여 사용하였을 경우. -> 문제가 될 수 있는 상황을 예를 들면, HashSet을 상속하고 add관련 메서드를 재정의하여 객체를 추가한 횟수를 확인하는 로직을 추가하는 로직을 만들어보자 1234567891011121314..

반응형