본문 바로가기

분류 전체보기135

9. 단위 테스트 단위 테스트 1. 단위 테스트의 필요성 실제 코드는 여러 가지 요인에 의해서 변하기 마련이다. 실제 코드를 변경하면 상황에 따라 테스트 코드 또한 변경해 줘야 할 필요가 있다 하지만 작성되어 있는 테스트 코드가 가독성이 낮고, 복잡하게 구성되어 있다면 테스트 코드를 변경하기에는 어려움이 따르고 실제 코드를 변경하는데 걸림돌이 될 수 있다. 역으로 보기 좋게 작성된 단위 테스트는 코드에 유연성, 유지 보수성, 재사용성을 제공한다. 앞서 언급된 것처럼 가독성이 낮고 복잡한 테스트 코드는 실제 코드 변경에 어려움을 겪게 한다. 하지만 잘 짜인 단위 테스트는 실제 코드의 변경에 따른 변경사항과 사이드 이펙트를 쉽게 파악할 수 있게 해 준다. 또한 실제 코드의 변경에 따라 단위 테스트 역시 유연하게 수정될 수 있.. 2023. 6. 23.
6. 객체와 자료 구조 객체와 자료 구조 (어떤) 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견 없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다. -요약- 어설픈 캡슐화를 지양하고 추상화를 활용해라. 객체와 자료 구조를 명확히 구분하고 사용해라. 1. 객체 지향 1.1 모든 필드에 get과 set을 만들지 마라 모든 필드에 get()과 set()을 만든다면 이 객체는 자료 구조와 다를 바 없다. 형식적인 캡슐화를 하지말고 추상화를 통해 객체 내부의 값을 숨기고 역할을 부여하자 이런 방식은 더 유연하고 확장 가능한 코드를 작성하는데 도움이 된다... 2023. 6. 18.
5. 형식 맞추기 형식 맞추기 뚜껑을 열었을 때 독자들이 코드가 깔끔하고, 일관적이며, 꼼꼼하다고 감탄하면 좋겠다. 질서 정연하다고 탄복 하면 좋겠다 모률을 읽으며 두 눈이 휘둥그래 놀라면 좋겠다. 전문가가 짰다는 인상을 심어주면 좋겠다. 그 대신에 술 취한 뱃사람 한 무리가 짜놓은 듯 어수선해 보인다면 독자들은 프로젝트의 다른 측면도 똑같이 무성의한 태도로 처리했으리라 생각할 것이다. -요약- 읽히기 편한 코드 형식을 추구해라. 팀이 정한 규칙을 준수하고 일관성을 유지하라. 1. 읽히기 편한 코드 형식 1.1 신문 기사처럼 코드를 작성하라 신문은 가장 중요한 기사가 상단에 있고 아래로 내려가면서 그에 대한 세부적인 기사들이 나열된다. 코드 또한 추상화단계가 높은 코드가 상단에 위치하고 그에 종속되는 코드가 바로 아래에 .. 2023. 6. 18.
4. 주석 주석 잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을미친다. 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. - 요약 - 주석을 사용하기보다는 코드를 사용해서 의도를 나타내는 것을 지향하자. 특히 주석은 유지보수가 쉽지 않기 때문에 메서드에 대한 설명을 단순 나열하는 주석은 피해야 한다. 되도록이면 코드로 표현할 수 없는 정보를 전달해야 할 때만 주석을 사용하자 1. 주석을 사용할만한 경우 1.1 직관적이지 않은 정보를 전달할 때 코드를 작성할 때 표현식이라던지, 외부 라이브러리에 의해 코드를 직관적으로 해석하기 어려울 때가 있다. 이럴 때, 주석을 통해 .. 2023. 6. 18.