프로그래밍

개발자들 주석 잘 답시다

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

 

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

명확한 주석 한줄이면 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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5719 [프로그래밍] 하이브리드 웹뷰기반 앱은 rn이 정석이야? 3 잠적자 0 1 일 전 174
5718 [프로그래밍] c# webview2 도움요청함.. 7 carpediem 0 1 일 전 122
5717 [프로그래밍] 현업 개발자형들 맥씀? 9 이또히로부미 0 1 일 전 229
5716 [프로그래밍] libtorch에서 cuda 안불러와지는거 도움! 2 Hakat 0 3 일 전 126
5715 [프로그래밍] 뭔가 게시판이 애매해서 그런데 gis 잘아는 사람? 1 하늘늑대 0 3 일 전 165
5714 [프로그래밍] 컴포즈가 프리뷰랑 폰에서 다르게 동작해요 1 집에가게해줘 0 3 일 전 118
5713 [프로그래밍] 난바보다) 크로미움 램사용량 문제 일단 해결 2 ye 0 5 일 전 285
5712 [프로그래밍] k8s DNS 이슈는 해결이 안되나보다. 잉텔 0 5 일 전 172
5711 [프로그래밍] 분노) 진짜 유튜브 구글 패악질 토나오네 씨발 17 ye 0 7 일 전 771
5710 [프로그래밍] 프론트엔드 공부하려는데 언어 추천좀 7 스트리플 0 7 일 전 355
5709 [프로그래밍] 객체지향 뽕에 취하지마라 8 69746974 2 8 일 전 414
5708 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 11 일 전 389
5707 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 13 일 전 149
5706 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 13 일 전 305
5705 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 16 일 전 398
5704 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 17 일 전 266
5703 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 17 일 전 239
5702 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 17 일 전 336
5701 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 18 일 전 371
5700 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 19 일 전 380