본문 바로가기
728x90

도서/클린코드11

3. 함수 작게 만들어라 함수를 작게 만들어라. 함수를 작게 만들어야 한 눈에 파악하기 쉽다. 하나의 함수는 15줄을 초과하면 안된다. 함수 내부에서 조건문, 반복문을 사용할때 들여쓰기의 depth가 2를 넘기지 말아야 한다. 이를 위해서는 조건문, 반복문 내부에서 함수를 호출하면 된다. 그러면 바깥을 감싸는 함수(enclosing function)이 작아진다. 또 한 블록안에서 호출하는 함수 이름이 적절하면 코드를 이해하기 쉬워진다. 한 가지만 해라! 함수는 한 가지 일만을 해야 한다. 제발 한 가지 일만 하게 하자. 여기서 말하는 한 가지 일은 지정한 하나의 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행하는 것을 의미한다. 즉, 함수이름으로 정해진 한가지 일 만을 수행한다면 그 함수는 한가지 일만을 하는.. 2022. 1. 3.
2. 의미 있는 이름 소프트웨어에서 이름을 작성하는 경우는 아주 많다. 변수, 함수, 패키지, 클래스 등 아주 많은 곳에 이름을 붙여야 한다. 따라서 이름을 잘 지어야 한다. 이름을 잘 짓는 규칙은 다음과 같다. 1. 의도를 분명히 밝혀라 이름에 의도를 정확히 명시해야 한다. 좋은 이름을 짓기 위해서는 많은 시간이 필요하지만 이로 인해 절약되는 시간이 더 많다. 그러므로 이름을 보고 더 좋은 이름이 떠오른다면 개선해야 한다. 다음과 같은 코드가 있다고 해보자. 이 코드의 의도는 뭐일까? 1 2 3 4 5 6 7 8 9 public List getThem() { List list1 = new ArrayList(); for (int[] x: theList) { if (x[0] == 4) { list1.add(x); } } ret.. 2022. 1. 2.
1. 깨끗한 코드 사람들은 시간이 없다는 이유로, 지겹다는 이유로 코드를 다듬지 않고 나쁜 코드를 작성한다. 그러고서는 나중에 손보겠다는 다짐을 한다. 하지만 나중은 결코 오지 않는다. 나쁜 코드는 생산성을 떨어트린다. 코드를 고칠 때마다 사이드 이팩트가 터진다. 매번 스파게티 코드를 어떤식으로던 해석해 스파게티 코드를 더하다 보면 쓰래기 더미는 점점 높아지고 커진다. 일부 관리층은 이 문제를 해결하기 위해 새로운 인력을 투입한다. 하지만 새로운 인력은 기존 코드에 대한 이해도가 부족해 결국 또 다른 나쁜 코드들을 양산한다. 결국에는 생산성이 바닥을 치게 된다. 결국 팀은 반기를 들게 되고 새로운 팀을 만들고 재설계에 자원을 쏟아붓기 시작한다. 기존 서비스를 유지보수 하면서. 이때 부터는 재설계 팀과 유지보수 팀의 레이스.. 2022. 1. 1.
728x90