본문 바로가기

Refactoring2

악취나는 코드 개선하기 시리즈 - 순회 (Iteration) IntelliJ 블로그에 올라온 시리즈물을 번역 & 재정리 하였습니다. 3. Code Smells: 반복 저번시간엔 의심스러운 중첩 코드를 살펴 보았습니다. 이 문제를 해결하는 가장 좋은 방법은 기존 클래스에서 데이터를 가진 클래스의 내부를 이해하고 다루는것인 아니라, 행위 자체를 이동시키는 것이라고 추천드렸습니다. 그러나 이것이 그 이야기의 끝이 아닙니다. 이번 글에서는 코드 반복이 야기시킬 수 있는 다른 문제를 탐구하려고 합니다. 마지막 예제에서 중첩된 루프는 로직이 잘못된 위치에 있었던 것이라고 제안드렸습니다. 새로 만든 hasName메소드에서 반복이 존재하는 것은 for 루프 또는 stream를 사용하여 구현한것과 관계없이 또다른 문제점을 제시합니다. 아마도 이것은 name 데이터들을 저장하는 올.. 2017. 9. 6.
악취나는 코드 개선하기 시리즈 - NULL IntelliJ 블로그에 올라온 시리즈물을 번역 & 재정리 하였습니다. 1. Code Smells: Null 리팩토링에 대한 연구 중에 저는 여러가지 패턴(냄새나는 패턴)이 계속해서 반복되는 것을 보았습니다. 이런 패턴들은 특별히 새로운 것이 하나도 없으며, 많은 책들(리팩토링, 패턴을 활용한 리팩토링)과 블로그 및 동영상 에서 이런 냄새나는 패턴들을 어떻게 다루는지 알려주고 있습니다. 하지만 저는 IntelliJ IDEA가 어떻게 당신을 도울 수 있는지 (아닐 수도 있지만) 몇 가지 구체적이고 사소한 예로 설명하고 싶었습니다. 내가 반대하려는 첫 번째 문제는 null을 사용하는 것입니다. 특히 null-check 코드가 주위에 흩어져있을 때 더욱 그렇습니다. Java 8의 Optional은 이러한 많은.. 2017. 9. 2.