반응형

IT이야기/Clean Code(코딩규약) 4

클린코드 8장 : 경계(Boundaries)

0. 시작하는 글- 소프트웨어를 개발할 때 모든 것을 무에서 유로 만든 것은 힘듦 -> 오픈소스를 이용함 혹은 사내 다른 팀이 제공하는 컴포넌트를 사용- 외부코드를 우리코드에 깔끔하게 통합해야 함- 이번 장은 어떻게 외부코드를 깔끔하게 통합할까 하는 방법이 나와 있음 1. 외부코드 사용하기- 인터페이스 제공자 : 적용성을 최대한 넓히려 함 / 인터페이스 사용자 : 자신의 요구집중하는 인터페이스를 바람- Map사용하는 예시(책에 코드 있음 : Map을 이용하여 sensor라는 클래스 구현하는 예) : java.util.Map을 이용한 예 : Map을 Sensors안에 숨김 - Sensors클래스 안에서 객체 유형을 관리하고 변환 -> 이해하기 쉽지만 오용은 어려움 (설계규칙과 비즈니스 규칙을 따르도록 강제..

클린코드 6장 : 객체와 자료 구조

0. 시작하는 글: 변수를 비공개로 정의하는 것은 남들이 변수에 의존하지 않게 만들고 싶어서이다. 왜 많은 프로그래머가 set, get 함수를 공개 해 비공개 변수를 외부에 노출 시킬까? 1. 자료 추상화: 인터페이스는 자료구조를 명백하게 표현한다. 아래 두번째 예는 자료 구조 이상을 표현한다. ex1 ) 구체적인 Point 클래스public class Point{public double x;public double y;}-> 직교 좌표계로 개별적으로 좌표값을 읽고 설정하게 강제함. ex2) 추상적인 Point 클래스public interface Point{double getX();double getY();void setCartesian(double x, double y);double getR();}->..

클린코드 5장 : 형식 맞추기

0. 시작하는 글: 코딩을 할 때 어떤 형식으로 하는게 중요하다. 1. 형식을 맞추는 목적- 코드형식은 중요 : 기능은 바뀔 수 있지만, 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미침- 맨 처음 만든 코드는 중요 : 뒷 사람들이 참고하니 2. 적절한 행 길이를 유지하라: 500줄을 넘지 않고 대부분 200줄 정도인 파일로도 커다란 시스템 구축이 가능 -> 일반적으로 큰파일보다 작은 파일이 이해하기 쉬움 1) 신문 기사처럼 작성해라: 신문 독자는 위에서 아래로 기사를 읽음 -> 소스파일도 신문 기사와 비슷 - 첫부분은 고차원 개념, 알고리즘을 설명하고 내려갈 수록 의도를 세세하게 묘사, 마지막에는 가장 저차원 함수와 세부내역이 나옴 2) 개념은 빈 행(줄)으로 분리하라: 코드 중 빈 행(줄)은 새..

클린코드 4장 : 주석

0. 일반적인 생각코드로 의도를 표현하지 못해 주석을 사용한다고 생각, 부정확한 주석은 결코 이뤄지지 않을 기대를 심기도 한다.아래는 OOP(Object-oriented programming)에서 생각하는 주석 내용에 대해 정리해 보았다. 클린코드 책에서 나온 주석에 관한 생각들을 요약해보았다. 1. 주석은 나쁜 코드를 보완하지 못한다.: 표현력이 풍부하고 깔끔하며 주석이 없는 코드(better) > 복잡하고 어수선하며 주석이 많이 달린코드(worse) 2. 코드로 의도를 표현하라주석이 있는게 중요한게 아니라, 코드로 의도가 표현되면 된다ex) //직원에게 복지혜택을 받을 자격이 있는지 검사한다.if((employee.flags & HOURLY_FLAG) && (employee.age >65)) -> i..

반응형