'리팩토링'의 우리말 번역

206 views
Skip to first unread message

진종훈

unread,
Jan 12, 2012, 8:31:45 PM1/12/12
to xper
안녕하세요.

오늘 문서를 올리다가 '리팩토링'이란 단어를 바꿔달라는 요청을 받았습니다. 개인적으로는 그냥 쓰는 것이 낫다고 생각하지만, 외래어 용어에 대한 거부감이 강한 경우에 리팩토링 대신 쓸 수 있는 우리말이 뭐가 있을까요? (제가 속해있는 조직은 IT 업체가 아닙니다.) 재구성, 재구축, 재공정, 재생산... 마음에 딱 드는 단어를 찾기가 어렵네요. 문맥에 따라 상황에 따라 문장 자체를 바꾸는게 답인건지...

이 메일링리스트 성격에 맞나 싶어서 올릴까 말까 고민이 되기는 했는데, 다른 마땅한 곳이 생각 나지 않아서요;; 책 번역 작업을 했던 분들도 계시니까 비슷한 고민을 해보셨지 않을까 싶어서 질문을 올려봅니다.

모두 즐거운 금요일 보내시길 바랍니다. (저는 야근 예약을...^^)

Seung Joon Choi

unread,
Jan 12, 2012, 8:43:57 PM1/12/12
to xp...@googlegroups.com
농담삼아.

'탈바꿈'

너무 갔나요? :-)

Murian Song

unread,
Jan 12, 2012, 8:47:20 PM1/12/12
to xp...@googlegroups.com

재건축?

On Jan 13, 2012 10:43 AM, "Seung Joon Choi" <eru...@gmail.com> wrote:
농담삼아.

'탈바꿈'

너무 갔나요? :-)

장회수

unread,
Jan 12, 2012, 8:54:25 PM1/12/12
to xp...@googlegroups.com
'재구축', '재건축', '재구조화' 는...  가끔 이야기 하는 re-structuring 에 어울릴듯 한데.. 

refactoring 은 '재구성' 이 좋지 않을까 하는 생각을 해봅니다. 

2012년 1월 13일 오전 10:47, Murian Song <y2k0...@gmail.com>님의 말:

gyehong park

unread,
Jan 12, 2012, 8:56:02 PM1/12/12
to xp...@googlegroups.com
리팩토링은 널리 사용되고 있는 용어 중에 하나인데 왜 바꿔달라고 하시는지 궁금하네요.

2012년 1월 13일 오전 10:31, 진종훈 <jinjo...@gmail.com>님의 말:

오재용

unread,
Jan 12, 2012, 9:02:57 PM1/12/12
to xp...@googlegroups.com

IT조직이 아니시라면  어떤조직인지
물어봐도 될까요?

2012. 1. 13. 오전 10:56에 "gyehong park" <gyeho...@gmail.com>님이 작성:

진종훈

unread,
Jan 12, 2012, 9:07:18 PM1/12/12
to xp...@googlegroups.com

글쎄요. IT 업계에 계신 분이나 소프트웨어 개발에 관심있는 분이 아니라면 낯설게 느껴지는 것이 자연스러운 것 같기도 합니다. 리모델링이라면 모를까요.

2012. 1. 13. 오전 10:56에 "gyehong park" <gyeho...@gmail.com>님이 작성:
리팩토링은 널리 사용되고 있는 용어 중에 하나인데 왜 바꿔달라고 하시는지 궁금하네요.

진종훈

unread,
Jan 12, 2012, 9:08:47 PM1/12/12
to xp...@googlegroups.com

제가 있는 곳은 이과 계열 연구소입니다.

2012. 1. 13. 오전 11:02에 "오재용" <obse...@gmail.com>님이 작성:

이동인

unread,
Jan 12, 2012, 9:11:00 PM1/12/12
to xp...@googlegroups.com
저는 리팩토링 후에 커밋할때 그냥 "코드정리" 라고 한글로 표기합니다. 리팩토링이 더 있어보일뿐 다를건 없거든요.
물론 리팩토링 하다보면 구조가 변경될 경우도 있습니다만 구조가 변경되지 않는다고 리팩토링이 아닌건 아니죠.

2012년 1월 13일 오전 11:07, 진종훈 <jinjo...@gmail.com>님의 말:

김동주

unread,
Jan 12, 2012, 9:12:48 PM1/12/12
to xp...@googlegroups.com
저는 '코드다듬기'라는 표현을 사용합니다.
더 괜찮은 표현을 찾고 있는데 잘 모르겠네요 :)

--
Dongju Kim <sof...@gmail.com>
PIOLINK, Korea


2012년 1월 13일 오전 11:11, 이동인 <leedo...@gmail.com>님의 말:

아샬

unread,
Jan 12, 2012, 9:39:19 PM1/12/12
to xp...@googlegroups.com
특별히 원어를 그대로 옮겨야 하는 상황이 아니면 “지속적인 설계” 같은 용어를 써도 되지 않을까요?

진종훈

unread,
Jan 12, 2012, 9:42:34 PM1/12/12
to xp...@googlegroups.com

코드 정리, 코드 다듬기 모두 좋네요. 저는 일단 '수정'으로 바꿔서 다시 올렸었습니다만, 뭔가 리팩토링의 의미를 더 담을 수 있는 단어가 없는지 생각해보고 있었습니다. 한 단어로 설명하기에는 무리였나 싶기도 하네요. ^^;

2012. 1. 13. 오전 11:13에 "김동주" <sof...@gmail.com>님이 작성:

Sangcheol Hwang

unread,
Jan 12, 2012, 9:42:46 PM1/12/12
to xp...@googlegroups.com
그러면 차라리 풀어서 설명을 하시면 어떨까요.

"더 나은 코드를 만들기 위해서 코드를 다듬는 작업"   이런식으로요..

그래서 그 문서를 보시는 분들과 충분히 공감대가 형성되면 리팩토링이라는 용어도 받아들여지지 않을까요

저는 조직에서 새로운 용어를 소개할때는
그 용어를 처음 보는 사람도 오해 하지 않도록 직관적인 용어를 사용해야 한다고 봅니다.


2012/1/13 김동주 <sof...@gmail.com>



--
Blog: http://pragmaticstory.com
Twiter: @k16wire

오규호

unread,
Jan 12, 2012, 9:44:49 PM1/12/12
to xp...@googlegroups.com

리팩토링의 목적이 뭘까요? 구조 및 코트 개선이니
"코드개선" 어떨까요?

2012. 1. 13. 오전 11:39에 "아샬" <ahas...@gmail.com>님이 작성:

Albert 규진 Park

unread,
Jan 12, 2012, 9:58:22 PM1/12/12
to xp...@googlegroups.com
안냐하세요!! 박규진입니다.

황상철님께서 말씀하신 "더 나은 코드를 만들기 위해서 코드를 다듬는 작업"이라 생각하니 비슷한 뜻이 떠오르네요.

똑같이 더 나은 문자열을 만들기 위해 문자열을 다듬는 작업에 해당하는 단어가 있죠.
무언가 떠오르지 않나요? ;)

"퇴고", 혹시 모자라다 싶으면 "소스코드 퇴고"를 강력 추천합니다.

ㅎㅎ 소스코드를 소설처럼 쓰라는 이야기가 문득 떠오르네요~

그나저나, 이정도 단어가 가물가물 해서 국어사전을 열고 씨름을 해서야 찾아내는 저는...
아무튼 모두들 좋은 하루 되세요 ^^

-- 
Albert 규진 Park 

2012/1/12 Sangcheol Hwang <k16...@gmail.com>

Youngrok Pak

unread,
Jan 12, 2012, 10:10:17 PM1/12/12
to xp...@googlegroups.com
문득 강철의 연금술사가 떠오르는군요. 연금술은 이해, 분해, 재구축의 3단계로 이루어지는... 등가교환도 뭔가 비슷하고... 코드 연금술? 음..;;


2012년 1월 13일 오전 10:31, 진종훈 <jinjo...@gmail.com>님의 말:
안녕하세요.

Seung Joon Choi

unread,
Jan 12, 2012, 10:15:46 PM1/12/12
to xp...@googlegroups.com
느낌 상으로는

코드 다듬기 : 좋아요
소스코드 퇴고 : 좋아요

아샬님의 트위터 멘션도 있고 해서
도 한번 다시 보고 있어요.

꼭 번역을 적용하진 않더라도 이렇게 한번 생각해 보는 것은 재미있고 의미도 어느정도는 있다고 생각합니다.

Seung Joon Choi

unread,
Jan 12, 2012, 10:18:55 PM1/12/12
to xp...@googlegroups.com
영록님의 강철의 연금술사, '등가교환'을 보고서는...

리팩토링에 등가로 교환되는 가치는 무엇일까 생각해 보게 되네요.
프로그래밍에서 인체연성 급을 하려다가... 지불해야 하는 가치는 뭘까...
등가교환을 무시할 수 있는 '현자의 돌'은 결국 환상 속의 것일까 존재할까 등등. ㅋㅋㅋ


2012/1/13 Youngrok Pak <pak.yo...@gmail.com>

sungchul park

unread,
Jan 12, 2012, 11:31:50 PM1/12/12
to xp...@googlegroups.com
전 "코드정련"이란 단어가 떠오르네요. 개선은 기능을 더 추가한다는 이미지가 섞일 위험이 있고요.

2012년 1월 13일 오전 11:44, 오규호 <kh59...@gmail.com>님의 말:

Deokjune Yi

unread,
Jan 13, 2012, 12:32:42 AM1/13/12
to xp...@googlegroups.com

노스모크 용어에 익숙한 저는 '구조조정'에 한 표 던집니다. see http://no-smok.net/nsmk/%EB%AC%B8%EC%84%9C%EA%B5%AC%EC%A1%B0%EC%A1%B0%EC%A0%95

SeungBum Kim

unread,
Jan 13, 2012, 2:31:24 AM1/13/12
to xp...@googlegroups.com
이쯤에서 말장난 하나 던져봅니다.

理悖吐潾 (리패토린)

다스릴 리, 어그러질 패, 토할 토, 맑을 린 되겠습니다.

즉, 어그러진 것을 다스려 맑은 것을 토해낸다는 뜻입니다. :)

P.S. 전 개인적으로 무리한 한글화에는 반대하는 입장입니다. 

2012/1/13 Deokjune Yi <goc...@gmail.com>



--
김 승 범 (SeungBum Kim)
New Media Literacy Education
+ 82 - 10 - 2686 - 6855 | Twitter: @picxenk
http://xenbio.net | http://smalltalk.kr

진종훈

unread,
Jan 13, 2012, 3:59:55 AM1/13/12
to xp...@googlegroups.com

적절한 단어가 떠오르기 전까지는 리팩토링할 때 수행할 구체적인 작업을 적고 '(Refactoring)'을 집어넣어야겠습니다. 다른 용어들 사용할 때도 그래왔고요. 표준모형 마냥 그다지 아름다운 방법은 아니지만요.

* 저는 연금술의 비유가 가장 마음에 듭니다! +o+

2012. 1. 13. 오후 4:31에 "SeungBum Kim" <pic...@gmail.com>님이 작성:

Hubert Shin

unread,
Jan 16, 2012, 10:36:55 AM1/16/12
to xp...@googlegroups.com
전 그냥. 

"코드 개선(Improvement)" 이라고 합니다.

리팩토링 하면 안 와닿아서요 ^^;


2012/1/13 진종훈 <jinjo...@gmail.com>



--

      

신 황 규(Hubert Shin)    

    Agile Coach, SA / NSI Eng.  


조동희

unread,
Jan 12, 2012, 8:44:15 PM1/12/12
to xp...@googlegroups.com
개선이라고 쓰면 되지 않을까요???

2012년 1월 13일 오전 10:31, 진종훈 <jinjo...@gmail.com>님의 말:
안녕하세요.

ologist

unread,
Jan 14, 2012, 2:25:05 AM1/14/12
to xper
저도 코드개선에 한표

refactoring => code improvement
지속적으로 발전 시키는 느낌이 있었으면 좋겠어요^^

On 1월13일, 오전11시44분, 오규호 <kh595...@gmail.com> wrote:
> 리팩토링의 목적이 뭘까요? 구조 및 코트 개선이니
> "코드개선" 어떨까요?

> 2012. 1. 13. 오전 11:39에 "아샬" <ahastu...@gmail.com>님이 작성:


>
>
>
>
>
>
>
> > 특별히 원어를 그대로 옮겨야 하는 상황이 아니면 “지속적인 설계” 같은 용어를 써도 되지 않을까요?
>

> > On Friday, January 13, 2012, 김동주 <soft...@gmail.com> wrote:
> > > 저는 '코드다듬기'라는 표현을 사용합니다.
> > > 더 괜찮은 표현을 찾고 있는데 잘 모르겠네요 :)
>
> > > --

> > > Dongju Kim <soft...@gmail.com>
> > > PIOLINK, Korea
>
> > > 2012년 1월 13일 오전 11:11, 이동인 <leedong...@gmail.com>님의 말:


>
> > >> 저는 리팩토링 후에 커밋할때 그냥 "코드정리" 라고 한글로 표기합니다. 리팩토링이 더 있어보일뿐 다를건 없거든요.
> > >> 물론 리팩토링 하다보면 구조가 변경될 경우도 있습니다만 구조가 변경되지 않는다고 리팩토링이 아닌건 아니죠.
>

> > >> 2012년 1월 13일 오전 11:07, 진종훈 <jinjong...@gmail.com>님의 말:


>
> > >>> 글쎄요. IT 업계에 계신 분이나 소프트웨어 개발에 관심있는 분이 아니라면 낯설게 느껴지는 것이 자연스러운 것 같기도 합니다.
> > 리모델링이라면 모를까요.
>

> > >>> 2012. 1. 13. 오전 10:56에 "gyehong park" <gyehongp...@gmail.com>님이 작성:


>
> > >>>> 리팩토링은 널리 사용되고 있는 용어 중에 하나인데 왜 바꿔달라고 하시는지 궁금하네요.
>

> > >>>> 2012년 1월 13일 오전 10:31, 진종훈 <jinjong...@gmail.com>님의 말:

권병열

unread,
Jan 16, 2012, 6:51:32 AM1/16/12
to xp...@googlegroups.com

소스 정화는 어떨런지요
2012. 1. 13. 오전 10:31에 "진종훈" <jinjo...@gmail.com>님이 작성:

Seung Joon Choi

unread,
Jan 17, 2012, 12:21:21 AM1/17/12
to xp...@googlegroups.com
개선은 같은 한문을 쓰는 카이진? 하고 헷갈릴 염려가 있지 않을까요?
http://en.m.wikipedia.org/wiki/Kaizen

꼭 번역을 안하더라도 생각해 보기가 재미있습니다.
'코드 담금질'은 어떨까요?

칼에 비유하자면 기능이 추가되지 않고, 단지 날카로움을 더할 뿐이니까요.

연금술의 비유처럼 구조를 해체하고 이해해서 재조합하는 메타포는 아니지만 분자구조를 재 정렬하거나 스핀방향을 맞추는 정도의 재구성은 일어나기도 하니까... 쿨럭.

일단 코드의 경도가 높아져서 기능미가 우아해지지만 너무 할 경우에는 오히려 날이 상하기도 하고 부러지기 쉬운 약해져 버리는 일이 발생하니까 이 부분은 좋은 메타포인는 조금 고민 되긴 합니다.

June Kim (김창준)

unread,
Jan 17, 2012, 2:08:26 AM1/17/12
to xp...@googlegroups.com
독자가 누구냐, 맥락이 뭐냐에 따라 달라야 할 것 같습니다.

리팩토링을 교육받고 사용할 사람이 아니고, 제삼자 입장에서 이해만 하면 되는 수준이라면 지금까지 나온 번역어 모두 큰 문제가 없다고 생각이 듭니다.

그렇지 않다면 좀 더 신경을 써야할 부분들이 있습니다. 예컨대, 마틴 파울러는 자신의 책에서 리팩토링을 어느 정도 가치 중립적으로 사용하고 있습니다. 즉, 긴 메소드에서 Extract Method를 해서 추려내는 것도 리팩토링이고, 반대로 함수들을 인라인 시켜서 메소드를 길게 만드는 것도 리팩토링이라고 강조합니다(A에서 B로 가는 것이 리팩토링이면, B에서 A로 가는 것도 리팩토링). 그러면서 리팩토링은 행동은 바꾸지 않으면서 구조를 "바꾸는 것"이라고 정의합니다. 개선이나 청소라고 특정 방향으로 한정하지는 않습니다.

하지만 사람들이 통상 쓸 때에는 더 잘 정리하고 깨끗하게 만드는 의미로도 많이 쓰지요. 심지어는 행동을 바꾸는 것까지도 리팩토링의 범주에 넣기도 하는 것 같습니다(이것 때문에 여러가지 문제가 생기기도 하고요) -- 리팩토링의 핵심은 행동을 바꾸는 것과 구조를 바꾸는 것을 배타적으로 만드는 것이죠.

마틴 파울러가 정리한 리팩토링의 어원 http://martinfowler.com/bliki/EtymologyOfRefactoring.html 도 한 번 참고해볼만 합니다.

저는 개인적으로 리팩토링의 공식적 번역어를 정한다면(리팩토링이라고 그대로 쓰는 것을 선호하긴 하지만), 언급하신 재구성 정도가 어떨까 하네요.


2012/1/13 진종훈 <jinjo...@gmail.com>

Do-Hyung Jin

unread,
Jan 17, 2012, 7:22:17 PM1/17/12
to xp...@googlegroups.com
저도 코드 개선 보다는 코드 (재)정리 쪽이라고 생각하는 편입니다. 

그리고 Re- 가 붙어 있으니 '재' 라는 접두어가 있는 쪽을 선호하는데, 
그런 의미에서 창준님의 '코드 재구성' 이란 단어를 추천 해봅니다.  

2012/1/17 June Kim (김창준) <june...@gmail.com>



--
--
DO-HYUNG JIN
Engineer

S/W Platform Group 1
Mobile Communication Division Telecommunication Network
SAMSUNG ELECTRONICS CO.,LTD
 
Mobile : +82-(0)10-9530-0772
Office : +82-(0)31-301-0772
dh....@samsung.com

이동인

unread,
Jan 17, 2012, 8:00:27 PM1/17/12
to xp...@googlegroups.com
이번 글은 정말 흥하였네요.
리팩토링과 의미가 맞지 않긴 하지만 "코드 정규화" 또는 "코드 정규화 과정"이라고 하면 IT를 어정쩡하게 아는 관리자들에게 쉽게 먹히지 않을까 하는 생각이 들었습니다.
 
DB테이블을 만들고 정규화를 하듯이 코드를 만들고 나면 코드도 정규화를 해야 한다고 하면 쉽게 먹히지 않을까요?
 
정규화로 인한 연상 작용 덕분에 관리자들에게 리팩토링이 꼭 있어야 한다는 생각을 넣어 줄 수 있을 것 같습니다.
 
흠. 전 나중에 스케줄 작업시 관리자 낚을때 써먹어 볼랍니다. ㅋㅋㅋ. 코드 정규화...
 
그리고 이제 투표 단계에 다다른 글이 된거 같은데
 
나가수 방식에 따라 "코드재구성" "코드 정련" "코드개선"에 표를 던집니다.

 
2012년 1월 18일 오전 9:22, Do-Hyung Jin <jin...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages