본문 바로가기
유용한기술

코드 컨벤션, 어떻게 만들고 따라야 할까?

by DuncanKim 2023. 7. 3.
728x90

코드 컨벤션, 어떻게 만들고 따라야 할까?

 

 

자기소개서를 쓸 때 한 문장 안에서 틀린 맞춤법, 띄어쓰기는 없는지, 언제 문단을 나눌지, 두괄식으로 정보를 전달할지, 마지막에 결론을 지어 힘을 주어 전달할지 많은 것들을 생각한다.

 

프로그래밍도 '코드'라는 언어로 작성하는 하나의 글이라고 생각한다면, 이와 비슷한 규칙이 있지 않을까? 그것이 코드 컨벤션이다. 코드 컨벤션은 일관된 스타일과 가독성을 제공하여 팀원들과 원활한 협업을 이루는 데 도움이 된다.

 

이 글에서는 Swift 프로그래밍을 할 때 따라야 하는 코드 컨벤션을 알아보고, 팀원들과의 상의하여 하나의 프로그래밍 스타일을 따르는 중요성을 알아보고자 한다.

 

 

1. Swift Code Convention

 

https://github.com/DeveloperAcademy-POSTECH/swift-style-guide/tree/7a51455c6edfcad94f84ff8347312a2a3e9d734c

 

GitHub - DeveloperAcademy-POSTECH/swift-style-guide: 아카데미에서 사용 하는 코딩 스타일 가이드 입니다.

아카데미에서 사용 하는 코딩 스타일 가이드 입니다. Contribute to DeveloperAcademy-POSTECH/swift-style-guide development by creating an account on GitHub.

github.com

 

애플 아카데미에서 제공하는 코드 컨벤션을 따라 MC2, 새싹톤을 진행해보려고 하였다. 잘 정리가 되어 있는 만큼 많은 도움이 되었다. 그렇지만, 항상 개발을 하다보면, 부딪히는 부분이 항상 생긴다. 그것을 어떻게 해결해야 할까?

 

 

2. 코드 리뷰와 상의

 

아카데미에서 진행하는 프로젝트들을 경험해가면서, 개발과 협업이 중요해지는 순간이 왔다. 다른 사람의 코드를 이해하고, 내 코드를 이해시키고, 공통의 목표를 이루기 위해 각자의 태스크들을 가져가서 해오고, 그것을 합치는 것의 반복을 진행하였다.

 

하지만, 한 사람의 자기소개서를 여러 명이서 한 파트씩 맡아서 쓴다고 했을 때, "각자 어떤 맞춤법을 꼭 따르자", 아니면 "어떤 몇 가지의 규칙을 따르자."라고 해도, 전체적으로 보면 어색한 흐름, 그리고 매끄럽지 않은 전개가 느껴질 것이다. 

 

규칙은 모든 상황을 정의할 수 없다. 다만, 예외가 등장한다면, 그것을 계속 수정해나가는 수밖에 없다. 그 예외를 발견하고 수정하는 것이 바로, 코드 리뷰라고 할 것이다.

 

PR을 날려서 그 코드들이 컨벤션에 맞는지, 현재 내가 쓰고 있는 코드 스타일과 유사한지 등을 계속 맞춰나가는 작업을 진행해야 한다. 그러한 커뮤니케이션 비용이 많이 들어도, 초반에 제대로 맞춰놓고 가는 것이 나중에 방향이 달라져 유지보수 하는 것에 어려움을 겪거나, 아니면 대량 수정이 필요해지는 상황을 맞이해 많은 지연을 일으킬 수 있다.

 

첫 번째 프로젝트에서는 이 과정이 거의 생략되다 시피 했다. 왜냐하면, 개발 부분의 실력이 부족했기 때문에, 시간도 촉박하며, 어떤 부분을 리뷰해야 하는지, 심지어 내 코드 짜는 스타일이 어떤지도 잘 몰랐기 때문이다. 하지만, 이런 부분들을 고려하여 그다음 해커톤, 개인 프로젝트 등을 진행하며 이런 리뷰와 상의들이 협업을 하는 데 있어서 가장 중요한 요소임을 알 수 있었다.

 

팀의 코딩 진행 속도를 처음에는 더디게 만들지만, 루틴이 되고 익숙해지면 더 빠른 진행이 가능하게끔 하는 것이 코드 컨벤션 관련 리뷰라고 할 수 있겠다.

 

 

3. 결론

 

어떤 문서이든, 기본적인 맞춤법과 띄어쓰기, 문장 구조 등은 글의 전체적인 구조와 작성자의 의도를 읽기 전에 보이는 가장 기본적인 것이다. 작성자의 의도, 전달하고자 하는 주제를 매끄럽게 전달하기 위해 기본적인 컨벤션은 반드시 필요하다.

 

이 컨벤션은 절대적인 것이 아니다. 팀원들이 부분 수정할 수 있고, 다시 정해나갈 수 있다. 그런 만큼, '팀원 간의 상의를 통한 컨벤션 정의'가 가장 중요하다는 것을 알 수 있다.

 

컨벤션은 있어야 하며, 만들어 나가야 하고 지켜야 하며, 지키는 지 관찰해야 하는 것이다. 그래야 프로젝트가 바르게, 빠르게 진행될 수 있다. 

728x90

댓글