brunch

퇴고와 리펙토링, 고쳐간다는 가치

끊임없이 고쳐가는 이유

by 고코더


"수정의 가치"
헌책을 수정하는 장인


오카노 노부오(岡野暢夫)는 일본 도쿄에서 30년 넘게 책을 고쳐주는 일을 하고 있는 장인입니다. 그러던 어느 날 오래되고 낡아버린 사전 한 권이 의뢰로 들어옵니다. 자신이 중학교 시절부터 공부했던 영어 사전을 대학에 입학하는 딸에게 선물하기 위해 이곳을 찾았다고 합니다.

Image.png Wii의 방 : 수리(修理), 매료되는(Wii の間の 修理、魅せます)


책 상태를 확인한 수선공은 책등에 붙은 오래된 접착제를 벗겨냅니다. 그리고 구겨진 사전 모서리를 전부 펼친 뒤에 다림질을 하여 모든 페이지를 평평하게 만듭니다. 약 4시간 이상의 작업은 명상하듯 하나씩 정성스럽게 작업합니다. 잉크를 엎어 더러워진 책 한 면은 모두 잘라냅니다. 마지막으로 사전에 심장인 앰블럼은 그대로 사용하여 의미를 이어갑니다. 이렇게 수정된 헌책은 또 한 번 귀한 가치를 이어나가면서 아버지와 딸의 정신을 이어주는 귀한 역할을 하게 될 것입니다.



고쳐나간다는 것


오래된 물건을 버리지 않는 이유는 물건에 깃든 추억을 저장하는 보관소이거나, 단 하나만 남은 유일한 물건일 때입니다. 제 방에는 중학교 시절부터 안고 잠을 자는 1미터 정도 되는 긴 베개가 있습니다. 헤지고 솜은 다 죽은 낡은 물건이지만, 나만이 느낄 수 있는 특유의 감촉과 적당한 볼륨감은 마음을 안정시켜주고, 숙면을 돕습니다. 그래서 매년 터져 나온 솜을 집어넣고, 찢어진 천을 직접 바느질을 하여 수선을 하면서 한 해를 마무리합니다. 그렇게 나만의 물건을 고쳐 간다는 건 나의 역사를 이어간다는 뜻이기도 합니다.



리펙토링(Refactoring), 퇴고


코딩과 문학에서도 수정하며 고쳐나가는 가치를 표현하는 단어가 있습니다. 바로 '리펙토링(Refactoring)'과 '퇴고'라는 단어입니다. 이는 비슷한 뜻을 가지고 있습니다. 완성된 결과물을 개선하는 작업을 말합니다. 그리고 이 두 개의 단어에 내포된 수정의 가치는 거쳐가는 횟수가 많을 수룩 깊어지는 특징이 있습니다.



리펙토링


리펙토링은 소프트 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 말합니다. 마틴 파울러는 '필드 은닉', '메서드 추출', '타입 일반화', '메서드 이름' 변경과 같은 이론을 말하지만 간단히 말하면 즉 결과 값은 동일한 상태를 유지한 채 내부에 소스를 손보는 작업을 말합니다. 다시 말하면 베개의 본연의 기능을 훼손하지 않던 바느질이 리펙토링이라고 할 수 있습니다.


유지보수를 하는 개발자라면 이런 작업은 매우 중요합니다. 리펙토링을 거칠수록 안정화가 되고, 프로그램은 빨라지고, 오류는 덜합니다. 그렇게 되면 일명 완성도 높은 결과물이 탄생하고 오랫동안 사용자는 신뢰를 가지고 프로그램을 사용할 수 있게 됩니다. 이러한 수정을 잘하는 프로그램을 하나 뽑으라면 아마도 구글이 만든 브라우저 '크롬'이 아닐까 생각합니다.


정말 완벽한 소스코드도 리펙토링은 값어치가 있습니다. 소스의 띄어쓰기 칸을 맞춘다거나, 엔터 값을 지우는 등 보기 편하게 바꾸는 단순한 작업도 리펙토링이라고 할 수 있습니다. 그렇기 때문에 완벽한 프로그램도 고쳐가는 과정은 완성도를 높여주고 프로그램의 가치를 완성합니다.



퇴고


퇴고를 '고통'이라고 표현하는 작가들이 많습니다. <영혼의 집>을 저술한 이사벨 아옌데는 이 과정을 이렇게 표현합니다. '지쳐서 더는 못 하겠다는 생각이 들 때까지 글을 수정한다'라고 말합니다. 400번 이상 퇴고한 <노인과 바다>처럼 좋은 작품들의 퇴고 횟수는 작가들에게 고쳐 쓰는 글쓰기가 얼마나 중요한지 강조합니다.


현미를 먹기 좋은 백미로 도정하듯, 잘 닦여진 유리가 투명함을 발하듯 퇴고는 가장 중요한 글쓰기입니다. 그리고 독자에게는 좋은 글을 작가 스스로에게는 좀 더 나은 방법으로 글을 쓸 수 있는 좋은 연구와 공부가 됩니다. 절차탁마(切磋琢磨)라는 말이 있습니다. 옥독을 갈고닦아 옥을 만드는 과정을 말합니다. 이처럼 퇴고는 글을 빛이 나게 만들어주는 역할을 합니다. 그렇기 때문에 퇴고는 글의 가치를 높여주는 훌륭한 도구가 됩니다.


퇴고 과정은 작품의 처음이자 마지막입니다. 화려하게 치장된 글을 도드라지지 않게 바느질 자국이 남지 않게 만듦으로 독자에게 선물하기 위해서 하는 글을 완성하는 과정입니다.



고쳐가는 가치
고쳐가는 가치

고쳐간다는 건 참 아름다운 일입니다. 익숙한 것들을 버리고 불편함을 각오한다는 일입니다. 고쳐간다는 건 스스로의 한계를 인정하는 고된 고통이 입니다. 사진으로 찍힌 자신의 얼굴을 보는 것처럼 외면하고 싶은 불편한 나의 모습들을 맞대어야 하는 힘든 일입니다. 그럼에도 리펙토링과 퇴고를 하는 이유는 가치를 더할 수 있는 참된 노동이기 때문입니다. 나의 결과물을 소비해주는 사용자와 독자를 위해서 할 수 있는 최고의 방법이기 때문입니다.


퇴고와 리펙토링은 무한한 확장성을 줍니다. 모레알이 모여 산을 이루듯, 부족한 실력으로 시작했을지라도 새롭게 다듬어 가다 보면 나보다 더 크고 높은 것을 만들 수 있는 위대한 힘이 있습니다. 시험처럼 한번 제출한 답을 고칠 수 없는 것들이었다면 저와 같은 작가와 개발자에게는 더 좋은 것들을 만들 수 있는 기회가 많지 않았을 것입니다.



고쳐갈 수 있다는 가치는
에세이와 코딩이 가진
순수한 수정의 가치입니다.


keyword
작가의 이전글노트북이 고장 난 후에