---
sourceDocument: Australie Gestion de la relation client pour les ventes
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/order-management

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Australie Gestion de la relation client pour les ventes

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# Directives générales pour l'écriture de scripts

# Directives générales pour l'écriture de scripts {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes de lecture

Écrivez des scripts efficaces à l'aide d'un langage de type JavaScript. Suivez ces instructions générales pour la dénomination, les variables et l'accès aux tables.

Ce guide vous guidera à travers les directives générales pour écrire des scripts efficaces et fiables dans CPQ un langage de type JavaScript. Suivre ces instructions vous aidera à créer un code facile à maintenir, lisible et performant.

## Résumé rapide {#cpq-scripting-best-practicws__section_oys_xwl_rgc}

* Placer les déclarations en haut
* Commentez de manière réfléchie
* Mettre en retrait les crochets
* Utiliser des noms de variables descriptives
* Nommer les variables de manière cohérente
* Évitez le terme \<\< nouveau \>\>
* Éviter l'égalité lâche (\<\< == \>\>)
* Utiliser \<\< const \>\> avant \<\< let \>\> et \<\< let \>\> plutôt que \<\< var \>\>
* Minimiser les recherches dans les tables
{#cpq-scripting-best-practicws__ul_uky_d1m_rgc}

## Placer les déclarations en haut {#cpq-scripting-best-practicws__section_k5x_ywl_rgc}

Le fait de placer les déclarations de variables et de fonctions en haut de votre script améliore la lisibilité et évite les problèmes inattendus de levage de variables.

    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= {};

## Commentez de manière réfléchie {#cpq-scripting-best-practicws__section_i1h_3xl_rgc}

Utilisez des commentaires pour expliquer une logique complexe, des hypothèses ou tout comportement non évident dans votre code. Évitez les commentaires redondants qui ne font que répéter le code.

## Mettre en retrait les crochets {#cpq-scripting-best-practicws__section_uwp_cxl_rgc}

L'indentation correcte de votre code améliore sa structure visuelle et le rend plus facile à comprendre, en particulier lorsqu'il s'agit de blocs imbriqués.

    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 }

## Utiliser des noms de variables descriptives {#cpq-scripting-best-practicws__section_ecf_hxl_rgc}

Choisissez des noms significatifs qui décrivent le but de la variable ou de la fonction. Cela rend votre code auto-documenté et plus facile à comprendre pour les autres.

    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 }

## Nommer les variables de manière cohérente {#cpq-scripting-best-practicws__section_vq4_bxl_rgc}

Des conventions de dénomination cohérentes améliorent la lisibilité et la maintenabilité du code. Choisissez camelCase ou snake_case et respectez-le. Les noms de variables de champ Logik utilisent camelCase, de sorte que la plupart des organisations conservent cette convention pour plus de lisibilité.

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

## Évitez le mot-clé \<\< nouveau \>\> {#cpq-scripting-best-practicws__section_czq_zwl_rgc}

L'utilisation du `nouveau` mot clé peut utiliser plus de ressources, entraîner des fuites de mémoire et provoquer des comportements involontaires. Utilisez plutôt la notation littérale pour la création d'objets si possible.

* Utiliser `" "` au lieu de `new String( )`
* Utiliser `( )` au lieu du `nouveau numéro ( )`
* Utiliser `false` au lieu de `new Boolean( )`
* Utiliser `{ }` au lieu de `new Map( )`
* Utiliser `[ ]` au lieu de `new Array( )`
{#cpq-scripting-best-practicws__ul_gyx_zyl_rgc}

## Éviter l'égalité lâche (\<\< == \>\>) {#cpq-scripting-best-practicws__section_epf_1xl_rgc}

L'opérateur d'égalité lâche peut conduire à une coercition de type inattendue. Pour des comparaisons précises, utilisez l'opérateur d'égalité stricte (`===).`

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

## Utiliser \<\< const \>\> avant \<\< let \>\> et \<\< let \>\> plutôt que \<\< var \>\> {#cpq-scripting-best-practicws__section_ksz_dxl_rgc}

Choisissez la déclaration de variable en fonction du périmètre et des exigences de mutabilité. Utilisez `const` pour les variables qui ne seront pas réaffectées et `let pour les` variables qui changeront. `var` est également acceptable mais est un vestige des versions précédentes de JavaScript.

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

## Minimiser les recherches dans les tables {#cpq-scripting-best-practicws__section_zfp_gxl_rgc}

Des requêtes de table excessives peuvent avoir un impact sur les performances. Minimisez les requêtes en récupérant les données nécessaires une seule fois et en les stockant dans des variables.

Pour en savoir plus sur les directives générales d'utilisation de la fonction `de recherche` , reportez-vous à la section [Réduction des requêtes de table](https://servicenow-prod.fluidtopics.net/FCmYJbbWeLNLWkSOtLBX8w "Découvrez comment réduire le nombre de requêtes pour maximiser les performances.").
**Concepts associés**   

* [Créer des scripts](https://servicenow-prod.fluidtopics.net/jhtl7OeRBAM91lgJKkJxaw "Apprenez à créer des fonctions avancées à l’aide de l’interface de scripting.")  
**Référence associée**   

* [CPQ Référence du langage de script](https://servicenow-prod.fluidtopics.net/EDO4s4nA2jRw5KZZKjHnRQ "Affichez les opérateurs, les objets et les mots-clés pris en CPQ charge, ainsi que des informations sur la conversion de type, la vérification de type, les scripts alternatifs pour les opérations non prises en charge et l’accès aux propriétés des objets.")

