본문 바로가기
반응형

독서72

[노개북] 클린코드 32일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. public String compact(String message) { if (shouldNotCompact()) return Assert.format(message, expected, actual); findCommonPrefix(); ... } private boolean shouldNotCompact() { return expected == null || actual == null || areStringsEqual(); } 의도를 명확히 표현하려면 조건문을 캡슐화해야 한다. 조건문을 메서드로 뽑아내 적잘한 이름을 붙인다. public String compact(String message) { if (canBeCompacted()) { findCommonPr.. 2022. 2. 25.
[노개북] 클린코드 31일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. 소프트웨어 설계는 분할만 잘해도 품질이 크게 높아진다. 적절한 장소를 만들어 코드만 분리해도 설계가 좋아진다. 관심사를 분리하면 코드를 이해하고 보수하기 훨씬 더 쉬워진다. 그저 돌아가는 코드만으로는 부족하다. 돌아가는 코드가 심하게 망가지는 사례는 흔하다. 단순히 돌아가는 코드에 만족하는 프로그래머는 전문가 정신이 부족하다. 나쁜 코드는 썩어 문드러진다. 나쁜 코드도 깨끗한 코드로 개선할 수 있지만 비용이 엄청나게 많이 든다. 모듈은 서로서로 얽히고설켜 뒤엉키고 숨겨진 의존성이 수도 없이 생긴다. 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요. 프로젝트를 하면서 분할에 대한 것을 팀원분에게 배웠습니다. => 작동하는데 문제가 없었던 코드였지만 분할을.. 2022. 2. 25.
[노개북] 클린코드 30일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. private void setBooleanArg(ArgumentMarshaler m) { try { m.set("true"); // 이전 코드: booleanArgs.get(argChar).set("true"); } catch (ArgsException e) { } } 변경 전 booleanArgs.get(argChar).set("true"); 코드 위 코드는 클린코드 6장에 나왔던 기차 충돌 코드 사례와 비슷하게 생겼습니다. 변경 후 코드가 훨씬 간결해졌습니다. 리팩터링을 하다보면 코드를 넣었다 뺐다 하는 사례가 아주 흔하다. 단계적으로 조금씩 변경하며 매번 테스트를 돌려야 하므로 코드를 여기저기 옮길 일이 많아진다. => 리팩터링은 루빅 큐브 맞추기와 비슷하.. 2022. 2. 22.
[노개북] 클린코드 29일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. 프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위다. 어떤 프로그램은 그저 그런 '개선'에서 결코 회복하지 못한다. => '개선' 전과 똑같이 프로그램을 돌리기가 아주 어렵기 때문이다. TDD는 언제 어느 때라도 시스템이 돌아가야 한다는 원칙을 따른다. TDD는 시스템을 망가뜨리는 변경을 허용하지 않는다. => 변경을 가한 후에도 시스템이 변경 전과 똑같이 돌아가야 한다는 말이다. 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요. 테스트 코드의 중요성을 오늘 또 느꼈습니다. => 테스트코드는 처음 의도에서 벗어나지 않게 해줍니다. => 테스트코드는 안정적으로 프로그램을 개선 할 수 있게 도와줍니다. 🔎 궁금한 내.. 2022. 2. 21.