checkcode
Analyse les fichiers source Nelson et signale les problemes de code.
📝Syntaxe
issues = checkcode(filename)
issues = checkcode(names, option1, ..., optionN)
📥Arguments d'entrée
Paramètre Description
filename une chaine : fichier source Nelson a analyser.
names une chaine, un tableau de chaines ou un tableau de cellules de chaines : fichiers a analyser.
option une option parmi '-id', '-fullpath', '-notok', '-cyc', '-modcyc', '-config=file', '-struct' et '-string'.
📤Arguments de sortie
Paramètre Description
issues un tableau de structures avec les champs id, message, fix, line et column, ou une chaine formatee lorsque '-string' est utilise.
📄Description

checkcode analyse les fichiers source Nelson et signale les problemes de syntaxe, de style, de flux de donnees, de nommage et de complexite.

L'option '-notok' inclut les diagnostics supprimes par les commentaires %#ok ou %#ok<NLS0001>.

L'option '-config=file' charge un fichier de configuration JSON. Le nom par defaut utilise par les workflows en ligne de commande est nelson-lint.json.

La configuration JSON doit declarer version egale a 2. Elle peut contenir extends, files.include, files.exclude, rules et ci.failOn.

rules associe des identifiants de regle comme NLS0001 a un objet contenant level (allow, info, warning ou error) et des options propres a la regle.

💡Exemples
Analyser un fichier et retourner un tableau de structures.
issues = checkcode([nelsonroot(), '/etc/startup.m'], '-struct', '-id')
Exemple de fichier de configuration JSON.
{
  "version": 2,
  "files": {
    "include": ["**/*.m", "**/*.xml"],
    "exclude": [".git", "build", "target", "bin", "x64", "generated"]
  },
  "rules": {
    "NLS0001": { "level": "error" },
    "NLS0013": { "level": "error" },
    "NLS0012": { "level": "warning", "options": { "maxLineLength": 120 } },
    "NLS0014": { "level": "warning", "options": { "warning": 10, "error": 50 } }
  },
  "ci": { "failOn": "warning" }
}
Used Functions
codeAnalyzerRules
🕔Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub