프로그래밍

개발자들 주석 잘 답시다

일단 신입때는
"주석은 병신들이나 쓰는거고 코드를 보면 모두 이해할수 있어야한다 이해가 안되면 그건 니가 잘못짠거다" 아니면 이해못하는 너가 병신이딴 이상한 문화가 있었는데 지금보니 개소리고

 

현업에서 클래스나 메서드에 짧고 간결하게 한줄로 주석을 달아놔야한다 

명확한 주석 한줄이면 30분~n시간을 아낄수 있음

 

ㅈ만한 프로젝트는 몰라도 대형프로젝는 병렬구조프로젝면 어떤건 뭐하나 파악하려면 프로젝트 전체를 살펴봐야하는데 이건 현실적으로 불가능함

물론 설계에 따라서 아닐수도 있지만 깔끔한 주석 한줄 달면 다음에 너든 타인에 시간을 확줄여주는데 이게 그렇게 어렵나

 

근데 주의점은 최대한 짧고 간결하고 명확하게 작성하는게 제일 중요함


//A에서는 B를 C로 변환함
//A는 B응답에 따른 결과를 치환함
//A클래스는 B응답값 및 C의 응답값을 관리하기 위함
//A에 따른 B이면 C에서 ~용도로 사용함

 

이런식으로 짧고 간결하게만 달아도 진짜 시간 많이 아낄수 있음

 

주석에 주절주절 일기 쓰지말고 짧고 명확하게 잘 달자 (특히 신입때는 불안에서 이상한 멘트 주절주절하기 쉬움)

그리고 안쓰는 코드는 주석 처리하지 말고 명확하게 지워놓고 커밋 코맨트 명확하게 달고

 

 

 
 

32개의 댓글

2023.11.21

/*

나도모름

*/

0
2023.11.21
@해롱이

// 2023/11/21 개붕이 왔다감

0

코드만 존재하면, 코드로 로직 분석이 가능하지만

주석과 코드 내용이 다를수 있는 경우에 대해서는 어떻게 생각하나용

0
2023.11.21
@거북목치료법좀

답은 너도 알잖아 엄격한 관리 gitflow처럼

 

만약 해당 프로젝트에 주석이 여기저기서 맞지 않는다면 그건 주석관리가 안된 프로젝트이고 이미 주석 자체를 신뢰할수 없는 솔루션이지

 

위케이스 레거시 받은 팀장입장이라면 주니어급들한테 클래스나 모듈(프로젝트)단으로 나눠서 주석달고 신입>1년차>2년차 검토

 

주석도 변수명만큼이나 매우 중요한 업무라고 생각함

0
2023.11.21

// 이건 모르겠지?

// 이것도 알아볼 수 있을까?

0

주석관리가 줜나 안됨. 한놈이라도 관리 줫같이 한거 일하는 사람 전부 발견 못하면 그 모든 주석이 의미없어지는거임

 

괜히 주석으로 주저리주저리 달지말라는 말이 나오는게 아니라 생각함

 

관리안됐을 때 리스크가 너무 큼

1
2023.11.21
@저소음흑축써주세요제발

맞아 몇몇 주석이 신뢰할수 없어지면 다른 주석들 모두 신뢰할수가 없지

0

기억에 남는 어질어질했던 주석

//그 코드

0
2023.11.21

//A에서는 B를 C로 변환함

//A는 B응답에 따른 결과를 치환함

//A클래스는 B응답값 및 C의 응답값을 관리하기 위함

//A에 따른 B이면 C에서 ~용도로 사용함

 

이 정도의 주석을 달아야만 보인다면 그 프로그래밍 언어가 문제가 아닐까 싶다

십중팔구 자바로 보임

0
2023.11.21
@VXcePsbmqh

저건 명확함의 그냥 예인거고 저정도 메서드면 그냥 helper메서드이지 이것도 의미는있어

주석달아놓으면 해당 메서드 호출시 descrtiption으로 보이기도하니까.

 

언어는 C++70, C#20, 기타10 쓰고 있어,, 뭐 주석이 저렇다 한들 언어의 문제는 절대 아닐것같은데

너 뉴비일것같네

 

그리고 대형 프로젝트에서 그 클래스의 용도나 개요만 적는것도 매우 의미 있어

앞으로 짜는 사람도 그 의도대로만 짜야하는 규칙인거고

0
2023.11.21
@배춧국

저런 메타데이터 성격의 데이터를 언어레벨에서 제대로 제공하지 않는다면 저런 주석이 꼭 필요하지만.......

타입스크립트를 하는사람이 저렇게 주석달면 줘팰거임

근데 말해준 두 언어가 둘다 버전이 좀 이상한데, 첨보는데...

C#은 아무리최신도 11이고 C++은 70년대에는 없었고 2023년 최신은 C++20이잖음...

0
2023.11.21
@VXcePsbmqh

70 + 20 + 10 은 100이라 아마 비중 이야기한듯

0
2023.11.21
@희망봉

은제 수정했대... C++70 C#20 이래써놨었음

0
2023.11.21
@배춧국

수정한거 반영해서 얘기하자면은

그 언어에서 저 정도의 메타데이터는 변수명에 내포하는게 맞음

안된다? 언어능력에 좀 문제있는거지

0
2023.11.21

후배 하나가

 

// 20xx.x.x OOO작성코드

 

이렇게 적어놔서 야 이거 뭐한거야? 했더니

 

자기가 그런 주석도 달았었냐며 되묻는데 개패고싶었음

2
2023.11.21

너 말대로라면 코드 내 주석에 쓰지말고 코드 구조 잘 잡고 docstring같은걸 잘 작성하는게 맞는거 같은데...

 

근데 그게 안되면 너가 얘기한 주석이라도 잘 다는게 중요하긴 함

0
2023.11.21
@퍄퍄존슨

맞아 동의해 근데 현업에서 docs가 싱크 따라오는 경우가 더 어렵다고 생각도 들고..

설계 및 flow 한해서만 docs로 관리하고 나머지는 주석으로 관리하면 될것같음

참고로 내가 지금 기준으로 말하는 프로젝트는 5년 넘도록 개발중인 프로젝트야

 

0
2023.11.21

99%의 정확한 주석 사이에 1%의 코드와 다른 주석이 껴있으면.. 진짜 쌍욕나오더라

0
2023.11.21

fn_sum(n,m); //n과 m의 곱을 구합니다.

1
2023.11.21

///<summary>

///

///</summary>

0
2023.11.21

// 23.11.20 수정자 김개붕 - 수정범위 안일랴줌

0
2023.11.21

클린코드가 사람 많이 망친듯 ㅋㅋ

0

주석 볼때마다 과거의 나에게 아주 고마움을 느낌 ㅋㅋ

0
2023.11.21

지금 회사에서 존나 느낌.. 존나 아름답게 짜면 모를까

0
2023.11.21

주석은 의도가 불명한 코드에 대해서만 남기면 적절하다

1
2023.11.21

// This code WHY?

0
2023.11.22

서비스 로직 복잡하거나, 컴포넌트나 모듈들 조합된 상황이면 docstring으로 이유와 목적, 출력값 형태나 범위만 적어두면 좋음

 

가끔 라이브러리 버그거나, 사람의 표현과 코드 표현이 이질적이거나 직관적이지 않을때 한두줄 주석

0
2023.11.22

가장 많이 하는 착각이

주석을 다는 것이 잘못된게 아닌데

 

주석 없이 코드를 이해할 수 없으면 잘못된 코드라고 생각하긴 하는데

하다보면 긴 코드들은 간단한 개요 등은 적으면 좋다고 생각 (가독성을 위한 주석)

 

그리고 개인적으로 가장 주석이 필요한 부분은 '왜'인데,

주석 없이 코드만 보았을 때 왜 이렇게 하는지는 이해하기 어려운 부분들이 있어서

(사업상 이유라던가 특정 케이스를 위해서라던가)

미래의 본인이나 미래의 후임자들을 위해서라도 "왜?" 에 대한 부분은 주석으로 많이 남기면 남길수록 좋다고 생각함.

 

0
2023.11.22

//뭔진 모르겠는데 없으면 광원효과 사라짐

0
2023.11.22

어차피 코드를 읽어야하면 주석을 달 필요가 없고

코드를 안읽어도 그 코드의 함수가 멱등성이 잘 지켜진다면 코드를 찾아 들어갈 일도 없고

함수나 클래스 네이밍을 잘 해서 의도만 파악할 수 있다면 주석을 달 필요가 없고

그래도 jsdoc이나 javadoc 같은걸 위한 주석은 다는게 좋고

0
2023.11.23

우린 주석안달고 테스트코드 달고 코드만 봐도 문맥이 이해되야됨

0
2023.11.23
@dsada12345

ㅋㅋ그부븐은 어느 회사나 비슷한것 같고..

위 댓글중에 하나처럼 그기 왜 필요한지 이게중요해

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5696 [프로그래밍] 책을 또 사버리고 말았다... 1 찰나생멸 1 3 시간 전 129
5695 [프로그래밍] 윈도우 부팅화면 봐주실분 바나나맛두부 0 2 일 전 175
5694 [프로그래밍] 아 시발 퇴사마렵다 9 인간지표 0 3 일 전 385
5693 [프로그래밍] C#이 ㅈ사기 언어인 이유 19 ye 4 3 일 전 920
5692 [프로그래밍] 요즘 모바일 개발은 어떤 걸 사용하나요? 13 커피좋아용 0 6 일 전 369
5691 [프로그래밍] 취준생 안드로이드 팀플 주제 머할까요... 8 조강현 0 6 일 전 248
5690 [프로그래밍] 공통코드테이블은 대체 왜 만드냐 9 잠적자 0 8 일 전 452
5689 [프로그래밍] 토이프로젝트 주제 선정 3 개드립눈팅1세대 0 8 일 전 244
5688 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 10 일 전 385
5687 [프로그래밍] 반도체 장비 업계인 있음? 9 캡틴띠모 0 11 일 전 310
5686 [프로그래밍] 안드로이드 책 추천좀 6 집에가게해줘 0 12 일 전 169
5685 [프로그래밍] 폰 스크리닝 해 본 사람 있어? 3 무지개빛푸딩 0 12 일 전 408
5684 [프로그래밍] jsp 트리메뉴 만들고있는데 구상한게가능한지 의견좀물어볼께 11 평택국 0 13 일 전 184
5683 [프로그래밍] JPA 도와줘어억 ㅠ 10 모그리또 0 13 일 전 277
5682 [프로그래밍] 의사는 뽑는 인원 제한하는데 부캠은 왜 제한 안 할까 5 조강현 0 15 일 전 391
5681 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 19 일 전 651
5680 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 9 집에가게해줘 0 19 일 전 476
5679 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 19 일 전 256
5678 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 20 일 전 904
5677 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 22 일 전 437