Schöner Code ist besserer Code. Besserer Code läßt sich leichter anpassen. Das spart Zeit, Geld und Nerven.// In anderen Ökosystemen gibt es zum Thema, wie der Code in einer Sprache auszusehen habe, ganze Bücher.
Offizieller Styleguide - Witz komm raus
Salesforce hat diese Bücher zwar (noch) nicht - ist deswegen aber auch nicht ganz unbewandert, dachte ich, als ich auf folgende URL stieß und mich dazu einlesen wollte:
https://developer.salesforce.com/page/Apex\_Coding\_Style\_Guide
Zu sehen ist da seit 2012 folgendes:
Ohana Styleguide
Da mir diese Form der Ironie dann doch etwas zu fein war, habe ich mich auf die Suche gemacht und für Euch folgendes aus der Salesforce Ohana ausgegraben.
https://github.com/eroispaziali/force-code-review-checklists
https://github.com/PolarisProject/salesforceStyleGuide
https://github.com/mailtoharshit/Mint
http://pcon.github.io/apex-styleguide/
Für Profis: PMD und ApexMetrics
Einer, der es wissen muß, Robert Sösemann, hat mir folgende XML empfohlen, wenn man sich traut, auf seinen Salesforce Apex Code PMD loszulassen. Da gerade der Start einiges an Wissen und Konfiguration voraussetzt, hilft die XML sich schnell einen Eindruck zu verschaffen. Danke, Robert!
Warum ausgerechnet PMD? Abgesehen davon, daß Jahrzehnte Erfahrung eingeflossen sind, hat Salesforce mittlerweile begonnen, die Regeln, die sie zum Beispiel für Security Reviews zu Grunde legen, in PMD einzubinden. Demnächst wird auch Visualforce eingepflegt. Dafür Daumen hoch
Gerade für ISVs/AIPs spannend, da man sich damit perfekt auf das Security Review des Appexchange vorbereiten kann. Und sparen: Denn ein Testrun über den offiziellen Kanal ist kostenpflichtig.
Wer sich das ganze gerne als Komplettpaket und fertig integriert anschauen möchte, dem sei ApexMetrics für CodeClimate von Up2Go empfohlen (Hinweis: Bei Up2Go arbeitet Robert).
PMD? Kurzgefaßt: Statisches Text Analyse Tool, das viel über Textqualität erzählen kann. Das zugeschnitten auf Programmquellcode und angereichert mit dem Hirnschmalz vieler großartiger Entwickler aus vielen Generationen.