- Published on
글쓰기와 코딩이 비슷한 부분
- Authors

- Name
- JongHyeok Lee
- @jhl_90
글쓰기와 코딩이 비슷한 부분
유시만 작가는 문학적 글쓰기와 논리적 글쓰기의 영역을 구분하면서
문학적인 글쓰기는 타고난 재능이 중요한 예술이지만
논리적인 글쓰기는 훈련으로 향상할 수 있는 기능이라고 했습니다.
코딩은 극단적인 형태의 논리적인 글쓰기입니다.
글쓰기와 비슷해서 코딩을 잘하려면 코드를 많이 읽고 많이 쓰고 많이 생각해야 합니다.
코드 리뷰는 다른 개발자의 코드 읽고 생각하고 토론하는 행위인 다독과 다상량입니다.
코드 리뷰에는 소극적이면서 코딩을 잘하고 싶어하는 개발자들이 있습니다.
많이 읽지 않고도 잘쓰는 것은 불가능합니다. 아무것도 안 앍는 것보단 뭐라도 읽는 게 좋습니다.
기왕 읽는 거라면 좋은 코드를 읽는 게 좋습니다.
그냥 읽기만 하는 것보다는 생각하고 토론하는 것이 좋습니다.
코드를 읽을 때는 처음부터 끝까지 빠르게 여러 번 반복해서 읽어야 합니다.
긴 시간을 들여 한줄 한줄 꼼꼼히 있다 보면 중도에 포기하게 됩니다.
전체를 파악해야 조각이 이해되고 조각이 이해돼야 전체를 파악할 수 있습니다.
다시 읽기 전에 코드를 읽고 파악한 내용을 종이에 그려보면 더 좋습니다.
두 번째 읽을 때는 처음 읽을 때보다 더 짧은 시간이 걸리지만 더 많은 것을 이해할 수 있습니다.
코드를 읽고 온전히 파악하려면 코드 그 자체만으로는 부족합니다.
작성자의 의도와 배경 등 코드의 해석에 필요한 부가적인 정보인 컨텍스트가 필요합니다.
문제는 컨텍스트가 광범위하게 흩어져 있다는 겁니다.
요구사항이나 명세 등의 형식을 갖춘 문서, 이슈 관리 시스템에 남겨진 질문과 답변,
버전 관리 시스템의 커밋 로그, 회의록, 주고 받은 메일, 슬랙의 채팅 기록,
심지어 회사를 오래 다닌 몇몇 개발자 머릿 속에만 있는 컨텍스트도 많습니다.
가독성은 좋은 코드의 필수 조건입니다.
현실 세계의 개발에서는 온전히 새로운 코드를 작성할 기회보다 기존 코드를 수정하고 덧붙이는 기회가 많습니다.
이때 기존 코드가 읽기 쉽다면, 제대로 고칠 가능성이 높아 집니다.
가독성이 좋은 코드는 관행을 잘 따릅니다.
관행은 작게는 팀, 넓게는 조직 전체에 일관되게 적용되어야 합니다.
일관성 있는 코드가 읽기 좋습니다.
일관성은 없지만 사전적 의미에 더 잘 맞는 변수 이름보다는 뜻이 안 맞더라도 규칙이 일관된 변수 이름이 더 좋습니다. 반복, 재귀, 대칭을 적절하게 활용하면 코드에 리듬감이 생깁니다.
대부분 음악은 앞 소절을 들으면 다음 소절을 거의 예측할 수 있습니다.
좋은 코드도 비슷합니다. 비슷한 듯 다른 코드가 반복되는 것처럼 보이지만 코드 일부 만으로 전체를 예측할 수 있고
그 예측에 맞지 않는 부분도 단순 반복이나 중복 코드가 아닌 패턴의 확장으로 자연스럽게 이해됩니다.
짧은 코드가 읽기 좋습니다. 함축적인 코드보다는 명시적인 코드가 읽기 좋습니다.
단순 명료한 코드가 읽기 좋습니다.
참고자료:
<[Story in Book] 코딩과 글쓰기는 비슷한 점이 많다>, 황치규 기자, 2023.
https://www.digitaltoday.co.kr/news/articleView.html?idxno=497589