220714 TIL 네이밍, 창작의 고통

오늘은 이전에 만들었던 계산기 프로그램에 대해서 코드 리뷰를 받았다.

리뷰 내용 중 가장 많이 차지했던 부분은 함수, 변수의 네이밍이 옳은지에 대한 리뷰를 많이 받았다.

지금까지 과정을 진행하면서 네이밍을 하는 게 정말 중요하다고 계속 들어왔다. 예를 들면 프로그래밍을 1도 모르는 사람이 코드를 봤을 때 이름을 보고 이 변수나 함수가 무슨 역할을 하는지 알기 쉽게 작성해야 한다고 했다. 그래서 지금은 프로그래밍을 할 때 최대한 의식적으로 메서드나 변수의 이름을 축약어 사용하지 않고 이름만 보고 무슨 역할을 하는지 파악할 수 있게 작성하려고 하고 있다.

그래서 계산기 만들때도 최대한 이해하기 쉽게 작성했다고 생각했는데 그에 대한 리뷰가 달리니 어떤 이름을 지어야 할지 더 이상 생각이 나지 않아 오후에 나의 사고가 멈추며 뇌 정지가 와버렸다... 

 

 

네이밍의 중요성

네이밍의 중요성을 알기 전에는 축약어를 많이 사용했었다. 

예를 들면 int count를 선언할 때도 int cnt로 줄이거나 number도 num으로 줄이는 등 축약어를 사용해서 변수를 선언하는 일이 다반사였다. 하지만 이렇게 축약어를 많이 사용한다면 코드를 작성한 자신만 알아볼 수 있다. 만일 협업해서 프로그램을 만들 때 축약어를 사용한다면 다른 사람이 코드를 봤을 때 이해하는데 어려움을 느낀다. 여러 사람이 봐야 하는 코드인데 나만 알아볼 수 있는 축약된 이름은 지양하는 게 좋다. 다른 사람이 봤을 때 메서드나 변수의 역할이 무엇인지 한눈에 파악할 수 있다면 코드를 파악하고 이해하는 시간을 절약할 수 있다.

즉, 읽기 좋은 코드를 작성해야한다.

 

그래.. 네이밍이 중요한 건 알겠는데 어떻게 좋은 이름을 짓지..?

 

사실 아직은 잘 모르겠다.

 

그래도 내가 생각하는 좋은 이름을 짓는 방법은 함수의 이름을 작성할 때는 이 함수의 핵심적인 역할을 파악해서 함수의 의도를 드러내야 한다. 그런데 이게 어렵다... 매우...

함수와 변수의 이름을 짓는데 걸리는 시간이 프로그래밍을 하는 시간보다 압도적으로 길다..

사실은 많은 개발자들이 이름을 짓는데 많은 어려움을 느낀다고 한다. 우리 동료들도 이름을 짓는데 고통을 느끼고 있는 것을 종종 볼 수 있다. 그만큼 좋은 이름을 짓는다는 건 어려운 일이다.

 

하지만 어렵다고 안 할 수는 없는 노릇..

프로그래밍을 하면서 끊임없이 좋은 이름을 생각해야 한다.

최대한 의미를 잘 전달하는 이름을 지을 수 있도록 생각하고 또 생각하자.