본문 바로가기
[Effective Java] 실패 상황 정보를 상세 메세지에 포함하자. [Effective Java] 실패 상황 정보를 상세 메세지에 포함하자. - 예외를 발생시킬 때 toString 메소드에서 실패 원인과 연관된 가능한 많은 정보를 반환하도록 상세 메세지를 포함시켜 주는 것이 좋다. 실패 상황 정보를 잡으려면, "예외 발생에 기여한" 모든 매개 변수와 필드의 값이 예외의 상세 메세지에 포함되어야 한다. IndexOutOfBoundsException 이 좋은 예이다. - 실패 상황정보를 알려주는 접근자 메소드를 해당 예외에서 제공하는 것이 좋을 수 있다. 특히 checked 예외에 대한 접근자 메소드를 제공하는 것이 더 중요하다. 실패에 따른 장애 복구에 유용하기 때문이다 unchecked 예외의 상세 내역을 프로그래머가 사용하는 경우는 거의 없다. 그러나 unchecked.. 2017. 3. 2.
[Effective Java] 메소드가 던지는 모든 예외를 문서화하자. [Effective Java] 메소드가 던지는 모든 예외를 문서화하자. - Javadoc 의 @throws 태그를 사용해서 항상 checked 예외는 별도로 선언하고, 각 예외가 발생하는 상황을 정확하게 문서화하자. 메소드가 던지는 예외가 많다고 해서 메소드 명세에 각 예외를 정확하게 선언하지 않고, 그 예외 클래스의 대표적인 슈퍼 클래스만 함축해서 나타내면 안 된다. - unchecked 예외의 문서 내역은 메소드가 성공적으로 실행되기 위한 사전조건(precondition)을 효과적으로 나타낸다. - 인터페이스에 정의된 메소드의 경우 자신이 던질 수 있는 unchecked 예외를 문서화하는 것이 "특히" 중요하다. 그 인터페이스의 보편적 계약 중 일부분이 되며, 인터페이스를 구현하는 여러 구현체들 간의.. 2017. 2. 28.
[Effective Java] checked 예외의 불필요한 사용을 피하자 [Effective Java] checked 예외의 불필요한 사용을 피하자 - checked 예외는 프로그래머가 예외 상황을 처리하지 않을 수 없도록 한다. - checked 예외의 과용은 API 사용자를 불편하게 만든다. - 만일 API 사용자가 해당 예외 사항에 대해 ignore 와 같은 방식 이외에 해결방법이 없다면, unchecked 에러를 사용하는 게 더 적합하다. - checked 예외를 unchecked 예외로 바꾸는 한 가지 방법은, 해당 예외를 발생시키는 메소드를 두 개의 메소드로 쪼개는 것이다. 그 중 첫번째 메소드에서는 예외가 생겼는지를 나타내는 boolean 값을 반환하게 한다. 예를 들면.. try{obj.action(args);} catch( TheCheckedException .. 2017. 2. 23.
[Effective Java] 외부에 제공하는 모든 API 요소에 대해 문서화 주석을 넣자. [Effective Java] 외부에 제공하는 모든 API 요소에 대해 문서화 주석을 넣자. - 사용 가능한 API 라면 반드시 문서화해야 한다. 만일 문서화 주석 규칙에 친숙하지 않다면 배워야 한다. - API 를 문서화하려면, 외부에 제공하는 모든 클래스, 인터페이스, 생성자, 메소드, 필드의 선언부 앞에 문서화 주석을 넣어야 한다. 만일 어떤 클래스가 직렬화될 수 있다면 직렬화 형태도 문서화해야 한다. - 문서화 주석이 빠진 API 를 사용하는 것은 실망스럽고 에러가 생길 가능성이 많다. 유지보수 하기 쉬운 코드를 작성하려면 외부에 공개되지 않는 대부분의 클래스, 인터페이스, 생성자, 메소드, 필드에 대해서도 문서화 주석을 작성해야 한다. - 메소드의 문서화 주석에서는 메소드와 클라이언트 사이의 계.. 2017. 1. 23.
[VB6] 대표적인 Control 들에 대해 공부해보자. VB의 대표적인 Control들에 대해 공부해보자. [이전강좌] Property(속성값) 다루는 법이 궁금하세요? 여기를 클릭 TextBox String Input 을 받을 수 있는 Box. 숫자를 다룰 때는 Val() 함수와 함께 잘 쓰인다. Label Caption property 를 이용하여 정보를 표시할 때 사용한다. CommandButton 일반적 버튼을 말한다. 보통 Click 이벤트가 가장 많이 쓰인다. PictureBox 이미지를 표시할 때 사용된다. LoadPicture 함수를 이용해서 runtime 에 그림을 바꿀 수도 있다. ImageBox Picture Box 와 거의 같으나, image 를 stretch 하는 기능이 있다.Picture Box 와 마찬가지로 runtime 에 Loa.. 2013. 5. 31.
반응형