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
-
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
-
Azure Functions
- Ab jetzt V4 4.8.NET Framework/.NET 8 Isolated
TypeScript/JavaScript Entwicklungen
- Styling:
- Namespace nutzen
- Tabellenname oder Globale Funktionsname
- Header Function:
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



