블로그 목록으로
📖 도구 튜토리얼 管理员 · · 4 분 · 22 조회

대기업이 코드 규범을 검사하기 시작했다 SQL 포맷팅이 새로운 필수가 되었다

대기업이 코드 규범을 엄격히 검사하기 시작하면서 SQL 포맷팅이 "선택"에서 "필수"로 바뀌었다. 팀 협업에서 형식이 혼란한 SQL은 리뷰 효율과 장애排查에 심각한 영향을 미치며, 일부 회사는 이를 SQL 심사 플랫폼과 성과 평가에 포함시키기도 했다. 원클릭 포맷팅 도구는 키워드 대소문자, 들여쓰기, 줄바꿈을 통일하여 복잡한 쿼리 구조를 명확하게 하고, 커뮤니케이션 비용을 낮추며, 온라인 사고를 줄인다. 포맷팅 습관을 들이는 것은 업계 트렌드에 적응하는 동시에 개인 코드 소양을 높이는 지름길이다.

최근 대기업에서 일하는 몇몇 친구들과 밥을 먹다가 코드 규범에 대한 이야기가 나왔다. 항저우의 한 전자상거래 대기업에서 백엔드 개발을 하는 한 친구는 그들의 팀이 최근 코드 리뷰를 진행했는데 결과가 놀라웠다고 한다——가장 많이 지적된 문제는 논리 오류도 성능 문제도 아니었고, SQL을 너무 아무렇게나 작성한 것이었다. 키워드 대소문자 혼용, 들여쓰기 엉망, 줄바꿈은 기분대로, 조금만 복잡한 쿼리 문장은 미로처럼 작성되었다. 팀장이 그 자리에서 말하기를: 앞으로 SQL은 반드시 포맷팅해야 하며, 통과하지 못하면 다시 작성하라고 했다.

이것은 사실 개별 사례가 아니다. 주변에 물어보니 베이징, 선전의 여러 인터넷 회사 친구들도 그쪽에서도 진짜로 시행하기 시작했다고 한다. 예전에는 SQL을 작성할 때 실행만 되고 결과만 맞으면 누가 모양을 신경 썼겠는가. 하지만 지금은 다르다. 코드 규범이 "권장"에서 "요구"로 바뀌었고, SQL 포맷팅은 특히 별도로 떼어내어硬性 지표로 삼았다.

왜 갑자기 이렇게 깐깐해졌을까? 말하자면 팀 협업의 대가가 너무 크기 때문이다. 생각해보라, 한 프로젝트에 십여 명이 있는데 오늘 누군가 3중 중첩 서브쿼리를 작성하고, 내일 또 누군가 전부 대문자 키워드로 된 유니온 쿼리를 작성하고, 모레는 주석조차 없는 복잡한 JOIN을 작성한다. 시간이 지나면 이 테이블은 아무도 건드리지 못하고, 코드 한 줄 수정하려면 반 시간을 들여 처음 작성한 사람이 도대체 뭘 하려 했는지 추측해야 한다. 더 말할 것도 없이 온라인에서 문제가 발생했을 때, 장애를排查하는 사람이 그 SQL 덩어리를 보면 혈압이 바로 치솟는다.

또 하나 매우 현실적인 이유——지금 많은 회사가 SQL 심사 플랫폼을 운영하고 있어서 코드 제출 시 자동으로 스캔한다. 형식이 규범에 맞지 않으면 병합 요청조차 통과할 수 없다. 일부 팀은 심지어 SQL 포맷팅을 성과 평가에 포함시켰는데, 듣기에는 좀 과장 같지만 실제로 일어나고 있다. 그 항저우 친구는 그들의 팀이 지금 매주 SQL 규범 통과율을 집계하고, 연속 꼴찌인 사람은 팀 전체에 밀크티를 사야 한다고 했다.

그러면 어떻게 해야 할까? 매번 SQL을 작성한 후 수동으로 공백과 줄바꿈을 조정할 수는 없다, 효율이 너무 낮다. 이때 SQL 포맷팅 도구가 유용하다. 문장을 작성한 후 도구에 붙여넣으면 원클릭으로 엉망인 SQL을 깔끔하게 정리할 수 있다. 키워드는 통일되게 대문자로, 들여쓰기 정렬, 줄바꿈할 곳은 줄바꿈, 공백을 넣을 곳은 공백을 넣는다. 복잡한 쿼리도 자동으로 절이 명확한 구조로 분해되어 논리를 한눈에 이해할 수 있다.

이 동작을 얕보지 마라. 형식이 통일되면 코드 리뷰 효율이 상당히 향상된다. 예전에는 SQL 한 줄을 리뷰하려면 먼저 5분을 들여 구조를 이해해야 했지만, 지금은 한눈에 스캔하면 문제가 있는지 알 수 있다. 신입이 오래된 코드를 인수할 때도 그 "천서" 같은 덩어리를 보고 걱정할 필요가 없다. 심지어 한 친구는 그들의 팀이 SQL 포맷팅 도구를 사용한 후 온라인 사고도 몇 번 줄었다고 했다. 왜냐하면 일부 논리 오류가 포맷팅 후에 특히 명확해져서 한눈에 보이기 때문이다.

물론 도구는 보조 수단일 뿐이고, 핵심은 습관을 들이는 것이다. 내 방법은 조금 복잡한 SQL을 작성한 후 먼저 포맷팅 도구에 넣어 한 번 돌려보고, 정리된 구조가 내가 생각한 것과 일치하는지 확인하는 것이다. 때로는 포맷팅 후에야 원래 불필요한 중첩을 작성했거나某个 JOIN 조건이 잘못된 위치에 있다는 것을 발견한다. 이런 자기 점검 효과는 단순히 눈으로 보는 것보다 훨씬 낫다.

결국 대기업이 SQL 규범을 검사하기 시작한 것은 형식 자체를 검사하는 것이 아니라, 그 뒤에 있는 엄격한 태도를 검사하는 것이다. SQL은 데이터와 가장 직접적으로打交道하는 도구이며, 잘 작성했는지 여부가 시스템의 안정성과 팀 협업 효율에 직접 영향을 미친다. 예전에는 실행만 되면 된다고 생각했지만, 지금은 안 된다. 예쁘게 실행되고, 남들도 이해할 수 있게 실행되어야 한다.

아직 SQL 포맷팅 도구를 사용해본 적이 없다면, 지금 바로 하나 찾아서 시도해보길 권한다. 온라인에 오픈소스, 온라인 도구 모두 있으니 손에 맞는 것을 고르면 된다. 몇 분도 걸리지 않지만, 습관을 들이면 자신의 SQL 수준이 어느새 한 단계 올라간 것을 발견할 것이다. 결국, 점점 더 치열해지는 환경에서 SQL 형식조차 제대로 관리하지 못한다면, 자신이 코드를 작성한다고 말하기还真不好意思.

22 조회 · 4 분

🔗 관련 도구

이 글과 관련된 유용한 도구를 사용해보세요

📝 관련 글

이런 글도 마음에 드실 거예요

tool-tutorials

애플 발표회가 막 끝났을 때 개발자들은 모두 JSON 포맷팅으로 선점에 나선다

애플 발표회가 끝나자마자 개발자들은 가장 먼저 새 인터페이스 문서를 파헤쳐야 하는데, 화면 가득 뭉쳐 있는 JSON 데이터는 도저히 볼 수 없습니다. JSON 포맷팅 도구는 어지러운 코드를 들여쓰기가 명확하고 계층이 분명한 구조로 바꿔주어, 새로 추가된 필드와 이름이 바뀐 파라미터를 한눈에 훑어볼 수 있습니다. 누가 먼저 새 인터페이스를 파악하느냐에 따라 선점하여 적응 버전을 올릴 수 있습니다. 디버깅 오류, 프론트엔드 연동 테스트, 백엔드에 줄 데이터 직접 만들기 등 모두 이 도구 없이는 안 됩니다. 이 도구는 화려하지 않지만 결정적인 순간에 없으면 정말 안 됩니다.

09-10
tool-tutorials

애플 발표회가 또 왔다, 프론트엔드 개발자 밤샘 코드 수정할 때 포맷팅 잊지 마세요

애플 발표회가 오면 프론트엔드 개발자들은 또 밤샘 코드 수정을 해야 합니다. 페이지를 업데이트하고, 특집 페이지를 런칭하고, 사장님은 애플 스타일을 원하십니다. 바쁘더라도 HTML을 다 쓴 후 포맷팅하는 것을 잊지 마세요. 들여쓰기, 줄 바꿈, 속성 정렬 같은 사소한 것들이 별것 아닌 것 같아도 버그 찾기와 재작업 시간을 크게 절약해 줍니다. 팀 협업도 원활해지고 코드 리뷰에서 싸우지 않아도 됩니다. 신뢰할 수 있는 도구를 고르면 로직은 그대로이고 레이아웃은 더 깔끔해집니다. 밤샘은 해도 코드는 엉망이면 안 됩니다.

09-10
tool-tutorials

경고! 당신의 IP가 당신의 집 주소를 노출하고 있습니다

IP 주소는 단순한 숫자 문자열이 아니라, 당신 집의 네트워크 주소와 같습니다. 조회 도구를 통해 당신의 도시, 거리, 심지어 아파트 단지까지 직접 찾을 수 있습니다. 일상적인 인터넷 사용, 댓글, WiFi 연결 모두 IP를 유출할 수 있으며, 악의적인 사람에게 이용되면 가벼운 괴롭힘부터 심각한 사기까지 발생할 수 있습니다. 이 글은 개인 정보를 함부로 입력하지 말고, 공공 네트워크 사용을 신중히 하며, 기기 기본 비밀번호를 변경하고, 스스로 IP를 조회하여 노출 정보를 확인하고 경계심을 높여 개인 정보를 보호하라고 조언합니다.

09-09