ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소스코드 주석(comment)에 대한 짧은 글
    2023. 3. 5. comments

    위키피디아에 의하면 주석이란 소스 코드를 더 쉽게 이해할 수 있게 만드는 것이 목적인 메모를 말한다. 

    주석 또는 코멘트는 프로그래밍에 있어 내용을 메모하는 목적으로 쓰인다. 소스 코드를 더 쉽게 이해할 수 있게 만드는 것이 주 목적이며, 협업할 때 유용히 쓰인다. 컴파일러와 인터프리터에 의해 일반적으로 무시되어 프로그램에 영향을 주지 않는다. 
    위키백과
    하지만 주석 때문에 소스코드를 더 이해하기 어려울 수 있다. 예를 들어,
    1. 코드의 의도가 명백하여 오히려 주석이 중복 내용에 가깝다. "XX를 출력합니다, XX를 가져옵니다. XX를 처리하고 응답합니다."등이 있다.
    2. 주석이 관리가 되지 않아 소스코드의 내용과 전혀 다른 설명을 하게 된 경우이다.  너무나도 슬픈 사실인데 소스코드를 수정하는 사람이 주석은 고치지 않은 것이다. 주석 내용이 함정이 될수 있으니 오히려 이 상황을 직면한 개발자에게 위협적일 수 있다. 
    3. 코드의 동작을 설명하기 보다는 자신이 왜 이렇게 작성했는지 당위성이 적혀있다. 예를 들어 "클린코드를 위해 A 오픈소스를 활용하여 전역 관리를 하여 어쩌구저쩌구... 그래서 이렇게 구현되어 있다"가 함께 적혀있다고 생각해보자. 그나마 허용가능한 수준은 README 파일에 기술하는 것이고 아예 없는편이 좋다고 생각한다. 때때로 "성능상의 이유로 XXX를 어쩌구저쩌구"등과 같이 협업 개발자가 오해하지 않게끔 가이드를 주는 주석들은 꽤 괜찮은 방향이라 생각한다.
    번외편으로 아주 간혹 주석에 날짜와 자신의 계정 이름을 적는 경우를 만날 때가 있다. 버전 관리가 없는 세상에서는 도움이 되었을 수 있으나, git이란 버전 관리도구가 보편적이고 흔하게 사용되는 세상이다. 소스코드를 수정한 사용자와 날짜가 모든 커밋 로그에 기록이 되기 때문에 이제는 주석에 더 이상 기록하지 않아도 된다. 
    반대로 도움이 될만한 내용을 몇 가지 적으면, 수학 수식이 들어간 로직이나 최적화를 위해 가독성이 떨어진 경우 그리고 TODO, FIXME, 마지막으로 주의사항등이다.
    마지막으로 주석은 협업을 위해서도 중요하지만 본인을 위해서도 유용하다. 내가 작성했다고 해서 모든 코드가 기억이 나고 빠르게 이해할 수 있는 것은 아니기 때문이다.
    반응형

    댓글

Designed by Tistory.