Query (개발)표준 및 규칙

Study/Oracle 2018. 11. 12. 05:36 Posted by meanoflife
반응형

프로젝트에 참여해서 개발을 하다보면, 많은 개발자들이 작업을 하기 때문에 공통된 표준이 필요합니다.

개발 파트 및 문서 하나하나까지 많은 표준과 명명규칙들이 존재하고, 

프로그램의 일관성과 일정한 품질을 유지하기 위해 지켜야 하는 것들 입니다.


그 중 쿼리의 표준에 관한 것도 존재를 합니다.

"절대적으로 이렇게 해야 한다!" 는 것은 없습니다.

그리고, 각 사이트마다 기준이 조금씩 상이하며, 지키지 않아도 수행되는데는 전~혀 문제가 없습니다.


다음은 제 나름대로 정리한 기준입니다.



■ 규칙


쿼리 작성시 기본적으로 지켜야 할 규칙들입니다.

가독성 및 유지보수를 위해 각 사이트들에서 일반적으로 적용하고 있는 내용들 입니다.


1. 쿼리 모든 Syntax는 대문자로 작성한다. ( 단, 입력파라미터는 소문자로 작성한다. )

2. 테이블의 Alias 반드시 명시하고, 컬럼의 Owner도 붙여서 작성한다.

3. SELECT절의 항목은 '*'를 사용하지 않고, 명시적으로 표기한다.

4. INSERT절의 항목은 생략하지 않고 반드시 명시한다.

   ( 이 후 테이블 변경시 등 오류에 대한 영향도를 줄일 수 있습니다. )



■ 줄 맞추기


"보기 좋은 떡이 먹기도 좋다" 라는 속담이 있습니다.

줄이 잘 맞춰진 소스가 보기에도 좋고, 이 후 수정하기에도 좋겠죠?



특별한 것은 없습니다.

가독성을 확보하기 위한 것이라서, ①각 쿼리의 시작점을 맞추고, ② OR문이 있을 경우 또는 Case문 등에 AND가 있을 경우 끝에 적어서 인지하기 쉽도록 작성한다. 는 정도입니다.


실제 프로젝트에 참여해서 운영되고 있는 쿼리를 보면, 정렬이 되어있지 않은 경우가 상당히 많이 있습니다.

쿼리를 새로 작성할 때에도 개발에만 중점을 두어 줄 맞추기는 무시하는 개발자도 많이 있습니다.


이런 쿼리를 보면, (편집증이 좀 있어서 그런가?) 좀 짜증도 나고, 보기가 싫어집니다.

쿼리에 업무요건을 추가 반영하거나 튜닝을 하려고 하면, 정렬부터 다시 해야하는 상황이 많이 있습니다.

쿼리의 블럭별로 잘 정렬이 되어 있어야 쿼리를 분석하기도 용이하기 때문입니다.


sub-query들이 여기저기 혼재해 있는 긴~쿼리들은 줄 맞추기가 안되어 있으면, 시작과 끝을 찾기 힘든 경우도 많이 있습니다.


그래서인지 최근에 일정 규모 이상의 프로젝트에서는 "쿼리 작성 가이드"가 위와 같은 내용을 가지고 정해지고 지키도록 하고 있습니다.

평소에 쿼리를 작성하며 항상 줄을 맞추는 연습을 하여 습관화 한다면 좋을 것 같습니다.


끝.

반응형

'Study > Oracle' 카테고리의 다른 글

[Oracle/Sybase] Null값 처리하기  (0) 2020.05.10
오라클 Listagg() 함수를 이용한 컬럼 열거하기  (0) 2020.01.15
Query의 명칭 ?  (0) 2018.11.04
오라클 딕셔너리  (0) 2018.10.28
오라클 제약조건( Constraints )  (0) 2018.10.28