가장 중요한 것은 읽기 쉬운 코드다.
브런치스토리
"읽기 어렵지만 뛰어난 성능을 내는 코드"와 "그럭저럭의 성능이지만 누구나 쉽게 읽을 수 있는 코드" 중 하나를 선택해야 한다면 내 대답은 언제나 후자다. 대부분의 코드나 서비스는 일단 작성되거나 출시된 이후에는 상당 기간 동안 방치되는 경우가 많기 때문이다.
시간이 지나면 내가 작성한 코드조차 낯설어진다
인간의 기억은 시간이 지남에 따라 희미해질 수밖에 없다. 작성 당시에는 스스로 뿌듯할 만큼 정교한 코드로 구현했다 생각하더라도, 몇 달 뒤 그 코드를 변경해야 할 땐 오히려 내가 무엇을 어떻게 구현했는지 이해하는 데 많은 시간이 소요된다.
실제 조사에서도 개발자가 기존 코드를 읽고 이해하는 데 소비하는 시간이 전체 개발 시간의 40~70%에 달한다는 결과가 있다. 새로운 기능을 개발하는 것보다 기존 코드를 이해하고 유지보수하는 것이 훨씬 더 비용이라는 얘기다. (개인적인 경험으로는 이미 서비스 중인 프로젝트 코드라면 새로운 기능을 개발하는 것과 기존 코드를 유지보수하는 것의 비중은 7:3 혹은 8:2 정도가 되는 것 같다.)
코드의 본질은 협업이다
코드는 나 혼자 뿌듯해하거나 자기만족을 위해 작성하는 것이 아니다. 1인 개발자가 아닌 이상 코드 작성이란 결국 협업을 위한 절차이며, 미래의 나, 혹은 내 동료가 다시 읽어야 기록이다. 코드가 아니라 단순한 줄글이라 하더라도, 복잡한 문장이나 어려운 구문으로 작성된 글은 읽기 싫은 것과 마찬가지다.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
"컴퓨터가 이해하는 코드는 누구나 쓸 수 있다. 하지만 훌륭한 프로그래머는 사람이 읽고 이해할 수 있는 코드를 쓴다."
- Martin Fowler 옹, 1999
다음 내용이 궁금하다면?
이미 회원이신가요?
2025년 9월 2일 오후 3:36