코딩 표준은 주로 개발팀에 프로그래밍 지침을 제공하여 프로젝트 개발자가 프로그래밍할 때 따라야 할 일관된 형식을 갖도록 합니다. 이렇게 하면 개발팀의 각 프로그래머가 작성한 코드를 다른 사람이 이해할 수 있게 되어 코드의 유지 관리성이 향상되고, 마치 한 사람이 작성한 것처럼 여러 사람이 작성한 소프트웨어 세트가 만들어져 코드가 더 쉽게 작성됩니다. 이해하다. 이를 위해서는 모든 사람이 일관된 코딩 스타일을 사용해야 합니다. 글쎄, 이러한 표준을 도입하는 것이 진부한 이유는 새로운 개발자가 프로젝트 개발 팀에 합류할 때 일부는 Delphi의 코딩 표준에 익숙하지 않을 수 있기 때문입니다. 이러한 표준은 다음 범주로 소개됩니다. 1. 일반 소스 코드 형식 규칙 2. 프로시저 및 기능 3. 파일, 양식 및 데이터 모듈 이름 지정 4. 패키지 및 구성 요소 이름 지정 일반 소스 코드 형식 규칙 들여쓰기는 각 수준입니다. 그들 사이의 공백. 소스 코드에 탭 문자를 넣지 마세요. 이는 탭 문자의 너비가 설정 및 코드 관리 유틸리티(인쇄, 문서, 버전 제어 등)에 따라 다르기 때문입니다. 여백 여백은 80자로 설정됩니다. 소스 코드는 일반적으로 단어를 써서 여백을 초과하지 않지만 이 규칙이 더 유연합니다. 가능하면 한 줄보다 긴 명령문은 쉼표나 연산자로 묶어야 합니다. 줄 바꿈 후에는 두 문자씩 들여쓰기해야 합니다. 대괄호는 여는 대괄호와 다음 문자 사이에 공백이 없습니다. 마찬가지로 닫는 괄호와 이전 문자 사이에는 공백이 없습니다. 다음 예에서는 올바른 공백과 잘못된 공백을 보여줍니다. CallPROcedure(Parameters); // 틀렸습니다! CallProcedure (Parameters); // 맞습니다! 예약어 및 키워드 Object Pascal 언어의 예약어 및 키워드는 항상 소문자입니다. Begin...endbegin 문은 자체 줄에 있어야 합니다. 예를 들어, 아래 첫 번째 줄은 틀렸지만 두 번째 줄은 정확합니다. for i:=0 to 10 do startStatement end// 틀렸습니다. 시작은 for i:=0 to 10 do //Corright와 같은 줄에 있습니다. !begin in 다른 줄의 startStatementend에서 이 규칙의 특별한 경우는 시작이 else 문의 일부인 경우입니다. 예: if Condition thenbeginStatement endelse startStatement; endend 문은 항상 별도의 줄에 있습니다. start가 else 문의 일부가 아닌 경우 해당 end 문은 start 문과 동일한 양만큼 들여쓰기됩니다. 명령문 (1) if_then_else 문의 가능성이 가장 높은 상황은 then 절에 배치하고 가능성이 낮은 상황은 else 절에 배치해야 합니다. 많은 if 문을 피하려면 대신 Case 문을 사용하세요. 레벨이 5개보다 많으면 if 문을 사용하지 마세요. 대신 더 명확한 방법을 사용하십시오. if 문에 추가 괄호를 사용하지 마세요. 소스 코드에서 괄호는 꼭 필요한 경우에만 사용됩니다. 예: if (I=42) then // 틀렸음, 괄호는 중복됨 if (I=42) or (J=42) then // 맞음, 괄호를 사용해야 함 if 문에서 테스트할 조건이 여러 개인 경우, 계산 복잡도에 따라 오른쪽에서 왼쪽으로 정렬해야 합니다. 이를 통해 코드는 컴파일러의 단락 추정 논리를 최대한 활용할 수 있습니다. Condition1이 Condition2보다 빠르고 Condition2가 Condition3보다 빠른 경우 if 문은 다음과 같이 구성되어야 합니다. if Condition1 및 Condition2 및 Condition3 then(2) Case_else 문 Case 문의 각 Case에 대한 상수는 숫자 또는 알파벳순으로 정렬되어야 합니다. 주문하다. 각 상황에 대한 작업 설명은 짧아야 하며 일반적으로 4~5줄의 코드를 넘지 않아야 합니다. 작업이 너무 복잡하면 코드를 별도의 프로시저나 함수에 배치해야 합니다. Case 문의 else 절은 기본 사례 또는 오류 감지에만 사용됩니다. (3) while 문은 while 루프를 종료하기 위해 종료 프로세스를 사용하지 말 것을 권장합니다. 필요한 경우 루프 조건을 사용하여 루프를 종료해야 합니다. while 루프를 초기화하는 모든 코드는 while 항목 앞에 위치해야 하며 관련 없는 문으로 구분되어서는 안 됩니다. 업무를 위한 모든 보조 작업은 주기 직후에 수행되어야 합니다. (4) for 문 루프 횟수가 결정되면 while 문 대신 for 문을 사용해야 합니다. (5) 반복문 반복문은 while 루프와 유사하며 동일한 규칙을 따릅니다. (6) with 문 with 문은 주의해서 사용해야 합니다. 특히 with 문 내에서 여러 개체나 레코드를 사용할 때 with 문을 과도하게 사용하지 마세요. 예를 들어 Record1, Record2를 사용하면 이러한 상황이 프로그래머를 쉽게 혼란스럽게 하고 디버깅을 어렵게 만들 수 있습니다. 구조적 예외 처리예외 처리는 주로 오류를 수정하고 리소스를 보호하는 데 사용됩니다. 즉, 리소스가 할당될 때마다 try...finally를 사용하여 리소스가 해제되었는지 확인해야 합니다. 다만, 유닛의 초기/마지막 부분이나 객체의 생성자/소멸자에서 리소스를 할당/해제하는 경우는 예외로 합니다. (1) try...finally의 사용법 가능하다면 각 자원 할당은 try...finally 구조와 일치해야 합니다. 예: //다음 코드는 오류를 일으킬 수 있습니다 SomeClass1: = TSomeClass.Create;SomeClass2: = TSomeClass.Create;try{몇 가지 코드 수행}finallySomeClass.Free;SomeClass.Free;end;//위 리소스에 대한 안전한 솔루션 할당은 다음과 같습니다: SomeClass1: = TSomeClass Create;trySomeClass2: = TSomeClass Create;try{몇 가지 코드 수행}finallySomeClass2.Free;end;finallySomeClass1.Free;end;(2) try...Exception 사용법 예외가 발생할 때 일부 작업을 수행하려면 try...Exception을 사용할 수 있습니다. 일반적으로 단순히 오류 메시지를 표시하는 경우를 제외하고는 try...를 사용할 필요가 없습니다. 응용 프로그램 개체가 컨텍스트에 따라 자동으로 이 작업을 수행할 수 있기 때문입니다. 절에서 기본 예외 처리를 활성화하려면 예외를 다시 트리거할 수 있습니다. (3) try...out...else를 else 절과 함께 사용하는 것은 권장되지 않습니다. 이렇게 하면 처리할 준비가 되지 않은 예외를 포함하여 모든 예외가 차단되기 때문입니다.