스크립팅에 대한 일반 지침

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 5분
  • JavaScript와 유사한 언어를 사용하여 효율적인 스크립트를 작성합니다. 이름, 변수 및 테이블 액세스에 대한 다음 일반 가이드라인을 따르십시오.

    이 가이드는 JavaScript와 유사한 언어를 사용할 때 CPQ 효율적이고 안정적인 스크립트를 작성하기 위한 일반적인 지침을 안내합니다. 이러한 지침을 따르면 유지 관리가 가능하고 읽기 쉬우며 성능이 우수한 코드를 만드는 데 도움이 됩니다.

    간략한 요약

    • 맨 위에 선언 배치
    • 신중하게 설명하십시오.
    • 들여쓰기 대괄호
    • 설명이 포함된 변수 이름 사용
    • 변수에 일관성 있는 이름 지정
    • '신규' 피하기
    • 느슨한 동등성 방지("==")
    • "let" 앞에 "const"를 사용하고 "var" 위에 "let"을 사용하십시오.
    • 테이블 조회 최소화

    맨 위에 선언 배치

    변수 및 함수 선언을 스크립트의 맨 위에 배치하면 가독성이 향상되고 예기치 않은 변수 호이스팅 문제를 방지할 수 있습니다.

    1 // Declare and initiate at the beginning
    2 let firstName = "";
    3 let lastName = "";
    4 let price = 0;
    5 let discount = 0;
    6 let fullPrice = 0,
    7 const myArray = [];
    8 const myMap= {};

    신중하게 설명하십시오.

    주석을 사용하여 코드의 복잡한 논리, 가정 또는 명확하지 않은 동작을 설명합니다. 단순히 코드를 반복하는 중복 주석을 피하십시오.

    들여쓰기 대괄호

    코드를 적절하게 들여쓰면 시각적 구조가 개선되고 특히 중첩된 블록을 처리할 때 이해하기가 더 쉬워집니다.
    1 // Good
    2 if (condition) {
    3 // ...
    4 if (nestedCondition) {
    5 // ...
    6 }
    7 }
    8
    9 // Bad
    10 if (condition) {
    11 // ...
    12 if (nestedCondition) {
    13 // ...
    14 }
    15 }

    설명이 포함된 변수 이름 사용

    의미 있고 변수 또는 함수의 목적을 설명하는 이름을 선택합니다. 이렇게 하면 코드가 자체 문서화되고 다른 사람이 더 쉽게 이해할 수 있습니다.

    1 //Good
    2 let quoteId = cfgRequest.partner.quote.id.value;
    3 let lineID = cfgRequest.partner.quote.lineId.value;
    4 let currencyISO = cfgRequest.partner.quote.currencyIsoCode.value;
    5 let priceBookID = cfgRequest.partner.quote.pricebookId.value;
    6
    7 if (quoteId != null) {
    8 cfgRequest.quoteIDTest.set("value", quoteId);
    9 }
    10
    11 if (lineID != null) {
    12 cfgRequest.lineIDTest.set("value", lineID);
    13 }
    14
    15 if (currencyISO != null) {
    16 cfgRequest.currencyISOCodeTest.set("value", currencyISO);
    17 }
    18
    19 if (priceBookID != null) {
    20 cfgRequest.pricebookIDTest.set("value", priceBookID);
    21 }
    22
    23 //Bad
    24 let x1= cfgRequest.partner.quote.id.value;
    25 let x2= cfgRequest.partner.quote.lineId.value;
    26 let x3= cfgRequest.partner.quote.currencyIsoCode.value;
    27 let x4= cfgRequest.partner.quote.pricebookId.value;
    28
    29 if (x1 != null) {
    30 cfgRequest.quoteIDTest.set("value", x1);
    31 }
    32
    33 if (x2 != null) {
    34 cfgRequest.lineIDTest.set("value", x2);
    35 }
    36
    37 if (x3 != null) {
    38 cfgRequest.currencyISOCodeTest.set("value", x3);
    39 }
    40
    41 if (x4 != null) {
    42 cfgRequest.pricebookIDTest.set("value", x4);
    43 }

    변수에 일관성 있는 이름 지정

    일관된 명명 규칙은 코드 가독성과 유지 관리 용이성을 향상시킵니다. camelCase 또는 snake_case 선택하고 이를 고수하십시오. Logik 필드 변수 이름은 대소문자를 사용하므로 대부분의 조직에서는 가독성을 위해 이 규칙을 따릅니다.

    1 // camelCase
    2 let firstName = "JohnDoe";
    3
    4 // snake_case
    5 let last_name = "Smith";

    '신규' 키워드 피하기

    new 키워드를 사용하면 더 많은 자원이 사용되고 메모리 누수가 발생하며 의도하지 않은 동작이 발생할 수 있습니다. 가능하면 개체 생성에 리터럴 표기법을 대신 사용합니다.

    • new String( ) 대신 " " 사용
    • 새 숫자( ) 대신 ( )를 사용하십시오.
    • new Boolean( ) 대신 false를 사용하세요
    • new Map( ) 대신 { } 사용
    • new Array( ) 대신 [ ] 사용

    느슨한 동등성 방지("==")

    느슨한 동등 연산자는 예기치 않은 형식 강제 적용으로 이어질 수 있습니다. 정확한 비교를 위해 엄격한 동등 연산자(===)를 사용하십시오.

    1 // Good
    2 if (count === 5) {
    3 // ...
    4 }
    5
    6 // Bad
    7 if (count == "5") {
    8 // ...
    9 }

    "let" 앞에 "const"를 사용하고 "var" 위에 "let"을 사용하십시오.

    범위 및 가변성 요구 사항에 따라 변수 선언을 선택합니다. 재할당되지 않는 변수에는 const 를 사용하고 변경되는 변수에는 let 을 사용하십시오. var 도 허용되지만 이전 버전의 JavaScript에서 유지됩니다.

    1 // Using const for unchanging values
    2 const TAX_RATE = 0.15;
    3
    4 // Using let for mutable values
    5 let itemCount = 5;

    테이블 조회 최소화

    과도한 테이블 쿼리는 성능에 영향을 줄 수 있습니다. 필요한 데이터를 한 번 가져와 변수에 저장하여 쿼리를 최소화합니다.

    조회 함수 사용에 대한 일반적인 지침에 대한 자세한 내용은 다음 문서를 참조하십시오테이블 쿼리 최소화.