Zum Inhalt

Entwicklungsrichtlinien für CRM

Quellcodeverwaltung/Repo

  • Vorlagen Repos sollen unter D365 CRM erstellt werden
  • DevOps Link:  https://dev.azure.com/katargo/CRM%20ALM%20Template%20Projekt/
  • Main Git Ignore enthalten
  • Repos
  • D365_SSIS
  • Branches
    • Dev*Branch
    • Prod*Branch (ab GoLive)
  • D365_ Solutions
    • Branches
    • Main
    • Ordnerstruktur
    • Wird durch Pipelines/Template generiert
  • D365_ Development
    • Branches
    • Feature Branch für größere Anpassungen
    • Main
    • Ordnerstruktur
    • Azure Functions
    • Plugins
      • Plugins & Workflows
    • Portal
      • Portalscripte etc
    • TypeScript
      • Projekt kopieren aus bestehendem Projekt
    • PCF
    • RESCO
      • HTML/Scripte
  • Ablage der Repos lokal unter Kunde/Repo

C# Entwicklungen

  • ENGLISCH
  • KISS
  • Benennung
  • Generell an die MS Vorgaben halten
  • https://learn.microsoft.com/enus/dotnet/csharp/fundamentals/codingstyle/identifier*names
  • Kurzform:
    • Assembly
    • TSO.PluginAssemblyName
    • Variablen
    • camelCase
    • Global
      • _variableA
    • Lokal
      • variableA
    • Klassen
      • PascalCase
    • Funktionen/Methoden
      • PascalCase
  • Struktur
  • Header Funktion
    • Input
    • Output
    • Images (Pre/Post/Target/ Relationship)
  • Run Funktion
    • Fürs Debugging/Wiederverwendbarkeit
    • Service global machen (_service)
  • Kommentare
  • Summary nutzen (///)
  • Header Kommentar nutzen
  • Wenn sinnvoll dann erweiterten Kommentar

    alt text

  • Signierung

  • TSO.SDK
  • VS Einstellungen
  • Package Reference
  • Nuget Quellen
    • https://tsocrm.pkgs.visualstudio.com/_packaging/TSOD365*Packages/nuget/v3/index.json
  • Typisierung
  • Var nur in Ausnahmen
  • Early/Latebound
  • Latebound
  • Für große Projekte nutzbar:
    • XRMToolbox LateBound Constants Generator
    • Als Identifier den LogicalName
  • Debugging

  • TestProg

    • TracingService mocken
    • Trace im Plugin etc nutzen
    • Tipp: bestehendes Testprog aus anderen Projekten kopieren

    alt text

  • Azure Functions

  • Ab jetzt V4 4.8.NET Framework/.NET 8 Isolated

TypeScript/JavaScript Entwicklungen

  • Styling:
  • Namespace nutzen
  • Tabellenname oder Globale Funktionsname
  • Header Function:

alt text alt text

PCF Entwicklungen

  • Namensgebung: [TSO PCF] Solutionname
  • „PCFNAME“Solution -> LookUpPCFSolution
  • Publisher
  • uniquename -> tsodatagmbh
  • Localizedname -> TSO-DATA GmbH
  • publisher prefix -> tso
  • Namespace -> tsoPCFNAME* zu überprüfen ob mit "_ "geht
  • Ordnerstruktur: Ordner „components“ ab mehr als einer zusätzlichen Datei
  • Bei größeren Projekten Sinnvolle Ordnerstruktur überlegen