https://book.naver.com/bookdb/book_detail.naver?bid=7390287

 

Clean Code

로버트 마틴은 이 책에서 혁명적인 패러다임을 제시한다. 그는 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 정제해 책 한 권에 담았

book.naver.com

 

개념은 빈 행으로 분리하라.
종속함수는 붙이고, 개념적 유사성이 높은 함수는 가깝게 해라.

 

 

공백을 활용해라.

여기서 공백은 위에서 말했던 빈 행 같은 세로공백, 함수의 인자나 연산자를 띄우는 가로공백, 들여쓰기를 모두 의미합니다. 아래에 공백을 잘 활용한 코드와 활용하지 않은 코드를 작성했습니다.

 

public static void makeSubset(int idx,boolean[] used) {
if(idx==size) {printSubset(used);return;}
used[idx]=false;
makeSubset(idx+1,used);
used[idx]=true;
makeSubset(idx+1, used);}
public static void printSubset(boolean[] used) {
StringBuilder sb=new StringBuilder();
sb.append("{ ");
for(int i=0;i<size;i++) {
if(used[i]) {sb.append(number[i]).append(" ");}}
sb.append("}");
System.out.println(sb.toString());}

 

public static void makeSubset(int idx, boolean[] used) {
    if(idx == size) {
        printSubset(used);
        return;
    }
    used[idx] = false;
    makeSubset(idx+1, used);
    used[idx] = true;
    makeSubset(idx+1, used);
}

public static void printSubset(boolean[] used) {
    StringBuilder sb = new StringBuilder();
   
    sb.append("{ ");
   	for(int i = 0; i < size; i++) {
        if(used[i])
            sb.append(number[i]).append(" ");
    }
    sb.append("}");

    System.out.println(sb.toString());
}

 

차이가 눈에 보이시죠?

 

팀 규칙을 따르기.

아무리 자신만의 멋들어진 코딩스타일이 있다고 해도, 협업에서 남들과 다른 코딩 스타일을 사용하면 이질적인 느낌을 주겠죠. 오해를 일으킬수도 있습니다.

팀과 회사에 이미 규정된 스타일이 있다면 그것을 따르는게 가장 좋은 방법입니다.

 

728x90

+ Recent posts