반응형 독서/클린코드7 2022.03.06 클린 코드 - 단위 테스트 TIL (Today I LeTIL (Today I Learned) 2022.03.06 오늘 읽은 범위 9장. 단위 테스트 책에서 기억하고 싶은 내용을 써보세요. 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. (p.157) 테스트 코드는 실제 코드 못지 않게 중요하다. (p.157) 테스트 코드에서 제일 중요한 것은 가독성이다. (p.158) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 사실 요즘 제일 궁금하고 배워야한다고 느끼는 것이 바로 이 테스트 코드다. 클린 코드에서도 테스트 코드에 관해서는 책 한 권으로도 부족할 정도로 많은 얘기를 할 수 있다고 한다. 이 책에서는 테스트 코드에 할당된 부분이 너무 적은 것 같다. 사실 이부분에서는 저번 장들만큼 정보와 깨.. 독서/클린코드 2022. 3. 6. 2022.03.03 클린 코드 - 오류 처리 TIL (Today I LeTIL (Today I Learned) 2022.03.03 오늘 읽은 범위 7장. 오류처리 책에서 기억하고 싶은 내용을 써보세요. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. (p.132) 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 그러면 자연스럽게 try 블록의 트랜잭션 범위부터 구현하게 되므로 범위 내에서 트랜잭션 본질을 유지하기 쉬워진다. (p.133) 오류 메시지에 정보를 담아 예외와 함께 던진다. (p.135) 오류는 많고 분류하는 방법도 다양하다. 그러나 애플리케이션에서 오류를 정의할 때 프로그래머에게 가장 중요한 관심사는 오류를 잡아내는 방법이다. .. 독서/클린코드 2022. 3. 3. 2022.03.01 클린 코드 - 객체와 자료 구조 TIL (Today I LeTIL (Today I Learned) 2022.03.01 오늘 읽은 범위 6장. 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 구현을 감추려면 추상화가 필요하다. (p.119) 그저 조회 함수(Getter)와 설정 함수(Setteer)로 변수를 다룬다고 클래스가 되지는 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. (p.119) 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. (p.119) 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (p.119) 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드.. 독서/클린코드 2022. 3. 1. 2022.02.28 클린 코드 - 5장 형식 맞추기 TIL (Today I LeTIL (Today I Learned) 2022.02.28 오늘 읽은 범위 5장. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. (p.96) 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. (p.96) 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저 차원 함수와 세부 내역이 나온다. (p.98) 종속 함수. 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호.. 독서/클린코드 2022. 3. 1. 2022.02.24 클린 코드 - 4장 주석 TIL (Today I LeTIL (Today I Learned) 2022.02.24 오늘 읽은 범위 4장. 주석 책에서 기억하고 싶은 내용을 써보세요. 프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리가 프로그래밍 언어를 치필하게 사용해 의도를 표현할 능력을 가지고 있다면, 주석은 전혀 필요하지 않다. (p.68) 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다.(p.69) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 본인이 이해하기에, 좋은 주석은 법적인 주석, 의도를 설명하는 주석, 결과를 경고하는 주석, TODO 주석, 대수롭지 않다고 여겨질 뭔가의 중요성을 강조하는 주석이 있다. 그외의 주석은 코드를 통해서 해결할 수 .. 독서/클린코드 2022. 2. 24. 2022.02.22 클린 코드 - 3장 함수 TIL (Today I Learned) 2022.02.22 오늘 읽은 범위 3장. 함수 책에서 기억하고 싶은 내용을 써보세요. 함수를 만드는 첫째 규칙은 '작게!'다. 함수를 만드는 둘째 규칙은 '더 작게!'다. (p.43) if문 /else 문 /while 문 등에 들어가는 블록은 한 줄이어야 한다는 의미. 대개 거기서 함수를 호출(p.44) 코드로 다시 한번 상기하자. //모든 코드가 아닌 if문으로만 확인. //올바르지 못한 버전 if(isTestPage){ WikiPage testPage=pageData.getWikiPage(); StringBuffer newPageContent = new StringBuffer(); //이렇게 코드가 if문에서 계속 이어진다. } //올바른 버전 if(isTes.. 독서/클린코드 2022. 2. 22. 2022.02.20 노개북 - 2장 의미 있는 이름 TIL (Today I Learned) 2022.02.20 오늘 읽은 범위 2장. 의미 있는 이름 책에서 기억하고 싶은 내용을 써보세요. 의도가 분명하게 이름을 지으라. 좋은 이름을 지으려면 시간이 오래 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.(p.22) 프로그래머는 코드에 그릇된(애매한) 단서를 남겨서는 안 된다. 서로 흡사한 이름을 사용하지 않도록 주의하라. (p.24) 검색하기 쉬운 이름을 사용하라. (p.28) 인터페이스 클래스 이름과 구현 클래스 이름 중 하나를 인코딩해야 하다면 구현 클래스 이름을 택하겠다. ShapeFactoryImpl 나 심지어 CShapeFactory가 IShapeFactory보다 좋다 (p.31) 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들.. 독서/클린코드 2022. 2. 21. 이전 1 다음 반응형