JavaScript 코드 작성 시 세미콜론(;)을 반드시 사용하는 편이신가요? #90
Replies: 2 comments
-
석호님! 좋은 질문 감사드립니다!! 저는 명시적으로 세미콜론(;)을 붙여야 한다 라는 쪽인데요. 짤막한 예시지만 아래와 같은 코드가 흔히 발생하는 케이스 중 하나인데요. const a = 1
[1, 2, 3].forEach() 이대로 저장을 통해 오토 포맷이 일어나면 아래와 같이 포맷팅이 되는데요. 이는 절대 의도한 부분이 아니라는 생각입니다. const a = (1)[(1, 2, 3)].forEach(); 다른 분들은 또 어떻게 생각하실지 궁금하네요!! |
Beta Was this translation helpful? Give feedback.
-
저는 팀과 코드베이스가 커지면 커질수록 "문제의 가능성이 박멸"되는 상태가 중요하다고 생각해요. 문제를 대충 덮어둔 코드베이스 위에서 일해본 분들은 다들 경험이 있을 거예요. 팀과 코드베이스가 커지면 커질수록, 문제의 가능성이 아주 작다고 해도, 그 문제가 발생하는 빈도가 증가하고, 결국 팀 전체의 생산성이 떨어진다고 생각해요. 세미콜론이 없이 코딩하면, 오류가 발생하는 경우가 많지는 않지만, 문제의 가능성이 항상 있는 탓에, 오류의 가능성 및 커뮤니케이션 비용이 발생한다고 생각해요. 그래서 세미콜론 사용을 필수화해서, 오류 가능성을 생각하지 않아도 되는 완전한 환경을 만드는 게 좋은 결정이라고 생각해요. |
Beta Was this translation helpful? Give feedback.
-
여기는 Frontend Fundamentals(FF), 좋은 프론트엔드 코드의 기준을 공유하고 품질 높이기를 고민하는 분들과 함께하는 곳이라고 생각합니다.
FF가 제공하는 ‘4대 원칙’과 구체적인 코딩 예시는 개발자로서 방향을 잡거나 코드 품질을 논리적으로 설명할 때 정말 큰 도움이 되는데요.
저는 개발자 모임에서의 대화 중 자바스크립트 세미콜론(;) 사용 여부를 두고 의견이 갈리는 상황을 겪었습니다.
한 쪽에서는 “굳이 안 써도 문제될 게 없다”라며 간결함을 강조하고, 다른 쪽에서는 “코드 안정성과 예측 가능성을 위해선 반드시 써야 한다”라고 주장합니다.
FF를 통해 얻은 인사이트 중 하나는, ‘합리적인 코드 스타일과 규칙’을 정립하는 것이 좋은 코드 품질을 유지하는 데 매우 중요하다는 점이었습니다.
팀 전체가 공통의 코딩 스타일을 갖추고, 이를 토대로 코드 리뷰나 개선 작업을 해나간다면 불필요한 혼란과 시간 낭비를 줄일 수 있을 테니까요.
그래서 저는 이 논쟁거리를 FF 커뮤니티에 묻고 싶습니다.
“자바스크립트에서 세미콜론을 꼭 써야 할까요, 아니면 생략해도 괜찮을까요?”
제 개인적으로는 “세미콜론을 빼면 안 된다”라고 생각하는데요, 언제 어디서 터질지 모르는 ASI(Automatic Semicolon Insertion) 예외 상황이 디버깅 악몽을 부를 수 있다고 보기 때문입니다.
물론, 세미콜론을 생략해도 ‘잘 굴러간다’ / ‘빼도 잘 되므로 안 뺄 이유도 없다’ 라고 하는 분들도 종종 계시더라구요.
그럼에도 불구하고 명시적으로 세미콜론을 붙여주면 코드 의도가 더욱 선명해지고, 가독성과 안정성 면에서 우리가 얻는 이점이 더 크다고 생각합니다.
개발 환경, 팀원 간 협업, 코드 리뷰 과정에서도 큰 혼란을 줄여주니까요.
여러분은 어떻게 생각하시나요?
ASI 규칙만 잘 숙지하면 세미콜론 없이도 충분하다,
혹은 불필요한 버그와 혼란을 피하려면 확실히 세미콜론을 붙여야 한다,
여러분의 다양한 경험과 의견이 궁금합니다!
많은 참여 부탁드립니다!
덧붙여서, 세미콜론을 생략하다가 겪었던 에러나, 반대로 세미콜론을 전부 붙였는데도 비슷한 문제가 생겼던 경험이 있다면 댓글로 공유해주시면 감사하겠습니다!
100 votes ·
Beta Was this translation helpful? Give feedback.
All reactions