Programming/Clean Code7 6장. 객체와 자료 구조 자료 추상화 아래 두 클래스를 살펴보자. public class Rectangle { public double width; public double height; } ///////////////////////// public interface Rectangle { double getWidth(); double getHeight(); void setRectangle(double width, double height); double getLength(); void setSquare(double length); } 위 클래스는 가로, 세로 값을 별개로 설정해야하고 별개로 읽어야한다. 아래 클래스는 가로, 세로 값을 동시에 설정해야하고, 별개로 읽어야한다. 구체 클래스인 Rectangle은 내부를 완전히 노출하.. 2023. 11. 30. 5장. 형식 맞추기 형식을 맞춘 코드를 작성하자. 간단한 규칙을 정하고 규칙을 착실히 따르도록 하자. 팀 단위라면 팀이 합의해 규칙을 정하고 모두가 따라야 한다. 형식을 맞추는 목적 코드 형식은 소통의 일환이다. 그리고 소통은 개발자의 일차적인 의무다. 오늘 구현한 기능은 다음 버전에서 높은 확률로 변경된다. 그러나 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드 품질에 지대한 영향을 미친다. 코드는 바뀌기 마련이다. 기존 기능이 수정 / 삭제되기도 하고, 새로운 기능이 추가되기도 한다. 그러나 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 변하지 않는다. 작성한 코드의 유지보수 용이성과 확장성에 계속해서 영향을 미친다. 적절한 행 길이를 유지하라. 어떤 거대한 프로젝트도 대부분 200줄 정도의 파일들로 구성할 수 있다. 특.. 2023. 11. 20. 4장. 주석 분명 잘 달린 주석은 유용하다. 그러나 대부분의 주석이 그렇지 못하다. 주석은 오래될 수록 코드에서 멀어진다. 주석을 유지하고 보수한다는 것은 현실적으로 어렵다. 코드는 계속해서 변화한다. 때로는 위치가 달라지기도 한다. 주석도 그럴까? 쉽지 않다. 부정확한 주석은 독자를 현혹하고 오도한다. 잘못된 결과로 독자를 이끌기도 하며 지킬 필요가 없거나 지키면 안되는 규칙을 명시한다. 따라서 우리는 주석을 가능한 줄이도록 노력해야한다. 주석은 나쁜 코드를 보완하지 못한다 일반적으로 주석을 다는 이유는 코드 품질이 나쁘기 때문이다. 그러나 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가 복잡하고 어수선하며 주석이 많은 코드보다 낫다. 코드로 의도를 표현하라! 아래 예시를 살펴보자. 만일 사용자가 게시글의 작성.. 2023. 11. 10. 3장. 함수 어떤 프로그램이든 가장 기본적인 단위는 함수다. 작게 만들어라! 함수를 만드는 첫 번째 규칙은 '작게'다. 두 번째 규칙은 '더 작게'다. 각 함수는 하나의 이야기를 명백하게 표현해야한다. - 블록과 들여쓰기 중첩 구조가 생길만큼 함수가 커져서는 안된다. 그래야 함수는 읽고 이해하기 쉬워진다. 한가지만 해라! 함수는 한 가지를 해야한다. 그 한가지를 잘 해야 한다. 그 한 가지만을 해야한다. 그럼 한 가지는 무엇인가? 여기에서 한 가지는 지정된 함수 이름 아래에서 추상화 수준이 하나인 것을 의미한다. 즉, 함수 이름에서 여러 단계에 나눠진 일을 수행한다고 하더라도, 그 일이 하나의 추상화 수준에 해당한다면 이는 한 가지 일을 하는 것이다. 대신, 큰 덩어리로 이루어진 하나의 일을 더욱 잘게 쪼개 더 작은.. 2023. 10. 17. 2장. 의미 있는 이름 들어가면서 소프트웨어의 모든 구성요소는 이름을 가지고 있다. 클래스, 메서드, 변수, 인자, 패키지, 파일 이름 등 모든 것들이 이름을 지니고 있다. 즉, 코드의 어느 부분을 읽어도 이름을 읽을 수 있다. 그렇다면, 좋은 이름을 짓는다면 코드를 읽는 행위 자체가 편리해지지 않을까? 좋은 이름을 짓는 것은 그래서 중요하다. 그릇된 정보를 피하라 이름에는 그릇된 정보가 담기면 안 된다. 이름은 그 이름에 담긴 코드들을 대표하는 정보다. 초등학생들이 다니는 학교 이름이 ㅇㅇ 고등학교이면, 당연히 혼란이 오기 마련이다. 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하면 안 된다. 읽는 사람이 단어의 의미가 자기가 알고 있는 의미인지, 새로운 의미인지 헷갈린다. 서로 흡사한 이름을 사용하지 말자. 비슷한 이름.. 2023. 10. 7. 이전 1 2 다음 반응형