개발/잡동사니

왜 공통코드를 데이터베이스로 관리해야 하는가?

큐토 2023. 4. 2. 00:23

데이터베이스를 이용한 공통코드 관리 방식은, 프로젝트의 일관성과 유지보수성을 확보하는 데 가장 적합한 방식입니다. 공통코드란, 여러 모듈에서 공통적으로 사용되는 코드 값을 말합니다. 이 코드 값을 여러 모듈에서 일관성 있게 사용하고 유지보수하기 위해서는, 데이터베이스를 이용하여 관리하는 것이 가장 바람직합니다.

 

데이터베이스 방식은, 공통코드를 중앙 집중적으로 관리할 수 있기 때문에, 여러 모듈에서 사용되는 코드 값을 일관성 있게 유지할 수 있습니다. 또한, 데이터베이스는 내구성이 좋기 때문에, 시스템의 안정성을 확보할 수 있습니다. 예를 들어, Enum 방식을 이용하여 공통코드를 관리하다가, 특정 모듈에서 실수로 잘못된 코드 값을 사용하게 되면, 시스템 전체에 영향을 미칠 수 있습니다. 하지만, 데이터베이스 방식을 이용하면, 이러한 문제를 사전에 방지할 수 있습니다.

 

데이터베이스 방식은 또한, 관점지향 스케일러빌리티(perspective-oriented scalability)한 방식입니다. 즉, 프로젝트의 규모와 상관없이 일관성(consistency)과 유지보수성(maintainability)을 유지할 수 있습니다. Enum 방식은 작은 규모의 프로젝트에서는 편리성(convenience)과 가독성(readability)을 제공할 수 있지만, 규모가 큰 프로젝트에서는 문제가 발생할 수 있습니다. 예를 들어, Enum 방식은 코드 값이 추가되거나 삭제될 때, 모든 모듈에서 일일이 코드 값을 수정해주어야 합니다. 이는 규모가 큰 프로젝트에서는 매우 번거로울 뿐 아니라, 실수를 유발할 가능성도 높아집니다. 하지만, 데이터베이스 방식을 이용하면, 코드 값을 추가하거나 삭제할 때, 데이터베이스에서만 수정해주면 되기 때문에, 프로젝트의 규모와 상관없이 일관성과 유지보수성을 확보할 수 있습니다.

 

따라서, 공통코드를 데이터베이스를 이용하여 관리하는 것은, 프로젝트의 일관성과 유지보수성을 고려하는 개발 방식에서 중요한 역할을 합니다. Enum 방식은 간단하고 직관적이어서 개발 편의성과 가독성이 높다는 장점이 있지만, 프로젝트 규모가 커지면서 데이터의 양이 많아지고 코드의 복잡도가 증가하면 일관성과 유지보수성이 떨어질 수 있습니다. 반면에 데이터베이스 방식은 일관성과 유지보수성을 보장하면서도 확장성이 용이하고 대용량 데이터를 처리하기에 적합합니다. 또한, 관계형 데이터베이스를 사용하는 경우, 데이터의 정합성을 보장하고 중복을 방지할 수 있어 데이터의 일관성을 유지할 수 있습니다.

뿐만 아니라, 데이터베이스 방식은 관점지향 스케일러빌리티를 보장할 수 있습니다. 관점지향 프로그래밍은 코드의 특정 관점에서의 분리를 통해 코드의 재사용성과 유지보수성을 높이는 프로그래밍 기법입니다. 데이터베이스 방식을 사용하면 공통코드를 하나의 테이블로 관리하고, 필요에 따라 특정 관점에서의 데이터만 추출하여 사용할 수 있기 때문에, 코드의 재사용성과 유지보수성을 높일 수 있습니다.

따라서, 공통코드를 데이터베이스를 이용하여 관리하는 것은, 프로젝트의 일관성과 유지보수성을 보장하면서도 관점지향 스케일러빌리티를 보장할 수 있는 개발 방식입니다.


놀랍게도 위는 내가 쓴 글이 아니고 GPT가 쓴 글이다.

 

내가 개인적으로 생각하는 개발에서의 가장 중요한 가치

일관성과 유지보수성 그리고 관점지향에 대한 토의를 하다가

최근 고민중인 공통코드 관리에 대해 접목시켜 얘기하다보니 GPT가 논문을 써버렸다.

 

다 읽고 제목은 내가 지었다.

GPT가 지어준 제목은 

"한 눈에 알아보는 공통코드: 누구나 클릭하고 싶어지는 완벽 가이드!"

 

...

누구라도 클릭하고 싶어지게 해달라고 요청하긴 했는데 너무 1차원적이라 놀랬다.

아직 제목은 내가 한 수 위인 것 같다.

 

그나저나 공통코드 테이블 만들어야 하나...