일반

가독성에 관하여

leesche 2022. 10. 18. 23:56

주호민이 한동안 생방송을 통해 만화가 지망생의 작품을 피드백해준 적이 있었다.
난 그 컨텐츠의 애청자였다. 거기서 가장 인상 깊었던 말은 가독성이었다.

 읽히지 않으면 그리지 않은 것과 같아요.

만화의 그림체나 소재가 아무리 좋아도, 만화가 눈에 잘 들어오지 않으면 만화가로 데뷔하기 어렵다는 말이었다.
생각해보면 코드도 그렇다. 코드도 하나의 문서이고, 사람이 읽는 대상이다.

어떤 코드가 아무리 뛰어난 기술을 사용하고 알고리즘이 효율적이어도
읽기가 너무 어렵다면, 그래서 유지보수하기 어렵다면,
그 코드는 특정 시점의 특정 환경에서만 잘 돌아가고 변화에 적응하지 못해 결국 쓰이지 않게 될 것이다.

만화가 잘 읽히려면 여러가지 방법이 있었다.
글자 크기를 키우거나, 구도의 종류를 다양하게 한다던지, 컷의 크기와 간격을 조절한다던지 ...

그렇다면 잘 읽히는 코드를 쓰려면 어떻게 해야 할까?
나는 아직 잘 모르겠다. '잘 읽힌다'의 정의는 때에 따라 다를 것 같다.
어쩔 때는 잘 읽히기 보다 빠르게 동작하는 코드가 필요하기도 할 것이고.

그럼에도 어떤 원칙이 있을까? 있을 것이다. 그것을 알고 싶다.
예를 들어 변수는 읽기만 해도 어떤 데이터가 담길지 파악이 되고, 하나의 함수는 하나의 일을 하고 ...

클린 코드나 리팩터링을 읽으면 알게 될까? 어쩌면 1년 안 되게 일을 하면서 알게 모르게 체득했을 수도 있다.
조그마한 배움과 통찰이 있을 때마다 메모하는 그런 습관을 가져야지.

주르륵 읽기만 해도 이해가 되는, 있어야 할 것이 있어야 할 자리에 있는 코드를 작성하고 싶다.
그 코드로 여러 사람들과 여러 환경에서 여러 재미난 일들을 하고 싶다.
우하하하, 재밌겠다.
근데 일단 이번 주 마감부터 치고