Project/BLUE NOTE

네이밍 컨벤션 이슈

Hyunsoo_Kim 2024. 8. 12. 01:09

Trouble



서버와 클라이언트를 혼자 개발하다보니 네이밍 컨벤션 이슈는 없을 것이라 생각했는데, 생각보다 꽤나 복잡하다.

클라이언트와 서버의 네이밍컨벤션을 카멜케이스로 정했지만 url은 카멜케이스를 사용할 경우 예기치 못한 에러가 생길 수 있다고 해서 url은 스네이크 케이스를 사용하기고 했다. 그런데 쿼리를 사용할 때, 쿼리스트링을 그대로 사용하자니 카멜 케이스에 어긋나고, 스네이크 케이스를 카멜케이스로 일일히 변경해줘야 하는 번거로움이 생겼다. 그나마 변경하기 쉽게 맵객체를 만들었지만 한번에 속성 축약도 못하고 은근히 코드가 쌓여간다... (mongoDB의 문서 객체의 id도 _id 라는 Key로 되어있긴 하나... 문서 id만 이러하니 그냥 넘어가자..)

 

Trouble Shooting



명확성과 일관성 중 명확성을 따르기로 하였다. 명확성과 일관성 모두 장단점이 있지만, 클라이언트 측에서는 axios의 intercepter를 최대한 활용하고, 서버에서는 맵핑 객체를 따로 모듈로 만들어 최대한 짧은 코드로 네이밍을 변환하기로 하였다.