Programing/Refactoring 3

외부 Dependency는 내부 로직까지 전파가 되어서는 안된다.

외부 Dependency는 내부 로직까지 전파가 되어서는 안된다.Dto(Data Transfer Object) 는 내부 객체로 변환해서 처리를 한다.Dto는 이기종간의 시스템에서 통신을 하기 위한 객체이다.Dto는 내부 도메인 로직까지 포함이 되어있으면 결합도 높은 코드가 되어버린다.외부 시스템이 바뀌면 내부 로직이 바뀌는게 많이 지기 때문에 Dto로 받은 객체는 내부 객체로 변환해서 처리를 한다.

입력 데이터에 의해 오류를 방지할 코드가 필요하다.

입력 데이터에 의해 오류를 방지할 코드가 필요하다.입력 데이터에 대한 유효성에 대해 고민을 해야 된다.로그 분석 등에서의 데이터 분석에서는 입력 데이터가 어떤 형태로 들어올지가 예측이 안되기 때문에 방어코드가 필요하다.방어 코드를 작성하고 방어 코드에 대한 유닛테스크 코드를 반드시 추가한다.String -> Long, Integer로 변환되는 경우String -> List 로 변환되는 경우Input 데이터의 null 값이 들어있는 경우Object -> String, Long 등 cast이 되는 경우

변수 이름은 정직하게 가는 것이 좋다.

변수 이름은 정직하게 가는 것이 좋다. 예를 들어 카테고리 1번 depth의 이름과 id를 변수 이름을 짓는다고 한다고 하면 아래와 같이 이름을 지을수 있을 것이다.- cate1id- cate1name 위와 같은 이름 보다는 아래와 같은 이름이 좀더 더 정확하게 의미가 전달이 된다.- category1DepthId- category1DepthName 데이터의 전달(json 형태의 message)에서는 크기를 줄여야 한다면 (보통 저정도 크기가 영향을 미치지를 않는다.)JsonProperty (ObjectMapper 인경우) 를 적용하여 실제 JSON를 맵핑하는 필드는 다르게 설정하는것이 낫다.