Page 10 - 006963
P. 10

“리팩토링(refactoring)은 코드를 변경하는 것이 아닙니다.”

                   맞는 말이지만, 여기에는 더 많은 것이 포함됩니다. 리팩토링은 코드를 변경하는 방법 중 하나이
                   지만, ‘코드를 변경하다’는 모호한 말을 설명하려면 한 가지 중요한 제약 조건이 있습니다. ‘코드

                   동작’을 바꾸면 안 된다는 것입니다. 이 말을 들으면 두 가지 궁금증이 생길 것입니다.

                      ●   코드 동작이 변하지 않는다는 것을 어떻게 보장할 수 있을까요?
                      ●   코드 동작은 변하지 않으면서 코드를 변경한다는 것은 어떤 의미일까요?


                   이 장에서는 이러한 궁금증의 답을 찾아 나갈 것입니다. 이미 웹에서 광범위하게 다루는 자바스크
                   립트 역사는 설명하지 않습니다.






                   1.1                                                Refacto R ing JavaSc R ipt
                               코드 동작이 변하지 않는다는 것을


                               어떻게 보장할 수 있을까?





                   이 질문의 답은 매우 어렵습니다. 하지만 다행히도 리팩토링을 할 때 동작의 모든 유형을 다루지
                   는 않습니다. 일반적으로 다음 내용을 다룹니다.

                      ●   구현 세부 사항

                      ●   불특정하고 검증되지 않은 동작
                      ●   성능

                   간단히 정리하면 테스트와 버전 관리를 사용합니다.

                   기본적인 리팩토링 작업을 다룬 논문(http://www.ai.univ-paris8.fr/~lysop/opdyke-thesis.pdf)에

                   서 윌리엄 옵다이크(William Opdyke)가 이야기한 새로운 접근법에 따르면, 코드 변경과 안전성을 보
                   장하는 자동화 도구를 사용하는 것입니다. 전문적인 프로그래머는 이미 코드의 변경 감지를 도구
                   에 맡김으로써 사람이 발생시킬 수 있는 문제들을 제거하여 변화의 유형들을 줄여 나갈 수 있다고
                   눈치챘을 것입니다.






             026




         리팩토링 자바스크립트(본문)최종.indd   26                                                             2018-09-19   오전 1:31:09
   5   6   7   8   9   10   11   12   13   14   15