brunch

You can make anything
by writing

C.S.Lewis

by 서초량 Oct 06. 2023

깨끗하게, 맑게, 자신 있게

클린 코드(Clean Code)

클린 코드(Clean Code). 말 그대로 깨끗하게 코드를 짜는 것을 말한다. 개발자 사이에서는 많이 쓰이는 용어이며, 조금 과장해서 클린 코드에 목숨 거는 사람도 있다. 나란 개발자는 클린 코드만 보면 ‘깨끗하게, 맑게, 자신 있게’라는 카피가 생각난다. 그래, 깨끗하게 코드 짜면 자신 있을 수 있지. 그렇고말고.


아차, 코드를 깨끗하게 짠다는 말이 글을 깨끗하게 쓴다는 말만큼 추상적으로 들릴 수 있겠다. 깨끗한 코드라는 건 읽기 쉬운 글과 같다. 가독성이 높고 누가 봐도 의미가 명확하게 전달되는 글. 코드도 마찬가지다. 로직을 빠르게 파악할 수 있고 누가 봐도 이해하기 쉽게 작성된 코드. 그것이 클린 코드다.


글을 잘 쓰는 법에도 몇 가지 원칙이 있듯이 코드를 잘 짜는 법에도 원칙이 있다. 여러 개발자가 원칙을 만들어 놓았다. 심지어 ‘클린 코드’라는 584쪽짜리 벽돌 책도 있다. 남자친구 J가 다니는 회사는 이 책을 바이블처럼 따른다고 들었다. ‘클린 코드’ 책을 공부하는 스터디 모임도 본 적 있다. 이 책은 개발자의 스테디셀러이며 앞으로도 그럴 것이다.


클린 코드를 공부하는, 공부하려는 사람은 많지만 그에 비해 실제로 적용하는 사람은 많지 않은 듯하다. 적어도 내가 경험하거나 들은 바에 의하면 그렇다. 아무래도 쉬운 일이 아니니까 그런가 보다. 글쓰기를 떠올려 보자. 일필휘지로 쓴 글이 가독성도 높으면서 완성도까지 있기란 매우 어려운 일이다. 그러니 작가는 공들여 글을 쓰고도 고치고 또 고친다. 코드라고 다를 것 없다. 클린 코드를 쓰기 위해 공을 들여도 구멍은 생기기 마련이고, 결국 유지 보수를 해줘야 한다. 다듬으면서 더 발전된, ‘깨끗한’ 코드를 만들어 나가는 것이다.


개발자라면 클린 코드를 향한 열망이 마음속 어딘가에 있을 것이다. 그러면 나도 클린 코드를 공부하느냐고? 공부는 하지만 아직 적용은 못 하는 개발자냐고? 모두 아니다. ‘클린 코드를 공부하려고 시도는 하지만 매번 실패하는 개발자’이다. 공부부터 시도해야 하는 상황이다.


클린 코드에 대한 열망은 있다. 스터디 모임이라도 들어서 제대로 공부해야겠다는 생각은 수백 번도 더 했다. 그런데 몸도 마음도 따라주지 않았다. 양이 방대하고, 어렵고, 선뜻 도전하기에 겁이 난다는 핑계로. 어쩌다 보는 클린 코드 관련 아티클을 주워 삼키며 대리 만족하고는 했다. 이렇게라도 관심 유지하고 있으면 되지 않을까? 그래도 ‘이렇게 하면 안 된다!’는 알고 있잖아?


“초량 프로, 이 코드는 왜 이렇게 짠 거예요?”

“여기는 이럴 필요가 없을 것 같은데요.”

“이 부분 이해가 되지 않습니다.”


하면 안 되는 건 잘 아는 줄 알았는데…. 코드 리뷰에 와장창 무너지는 내 코드를 보니 아니었나 보다. 일단 나름의 변명은 해 본다.


“이런 이유로 이렇게 코드를 짰는데요.”

“그럼 이렇게 하는 게 좋을 것 같은데요?”

“아하…. 네, 알겠습니다.”


창피하다. 엄청 창피해. 누가 날 놀린 것도 아니지만 그런 코드를 보였다는 사실만으로도 창피하다. 클린 코드 공부를 미룬 대가는 이렇게 돌아온다. 물론 이렇게 깨지면서 배우는 것도 방법일 수는 있지만 심적 타격이 너무 크다.


‘이 편지가 수백 년 동안 전해져서 안목 있는 많은 사람들의 눈에 띄더라도 조롱받지 않을 만한 편지인가를 생각해 본 뒤에야 비로소 봉해야 하는데, 이것이 바로 군자가 삼가는 바다.’   
- 유배지에서 보낸 편지, 다산 정약용



다산 정약용은 수백 년 동안 전해져서 안목 있는 사람들 눈에 띄더라도 조롱받지 않을 편지를 쓰라고 했다. 코드도 컴퓨터에게 보내는 편지이니 이 가르침을 따를 수 있겠다. 수백 년까지는 아니더라도 당장 내일의 동료에게 조롱받지 않을 코드를 써야 하지 않을까? 그러니 오늘부터는 깨끗하게, 맑게, 자신 있게!

매거진의 이전글 코드가 있었는데요, 없었습니다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari