Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
VOM VERSTAUBTEM PAPIERSTAPEL ZUM
SPICKZETTEL FÜR ENTWICKLER
BORIS WEHRLE
GELEBTE ENTWICKLUNGSRICHTLINIEN
ENTWICKLUNGSRICHTLINIEN
„Ein Programmierstil (engl. code conventions, coding
conventions, coding standards) ist in der Programmierung
das Erstellen von Quellcode nach bestimmten
vorgegebenen Regeln. Er gilt als Teilaspekt von
Softwarequalität, der insbesondere die Verständlichkeit und
Wartbarkeit von Software, dies sind Kriterien für
Softwarequalität gem. ISO/IEC 9126, unterstützen soll.“https://de.wikipedia.org/wiki/Programmierstil
3AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ENTWICKLUNGSRICHTLINIEN
4AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Softwarequalitäts-merkmale
(nach ISO 9126)
Funktionalität
Genauigkeit
Angemessen-heit
Inter-operabilität
Sicherheit
Benutzbarkeit
Verständlich-keit
Erlernbarkeit
Bedienbarkeit
Attraktivität
Wartbarkeit
Analysierbar-keit
Änderbarkeit
Stabilität
Testbarkeit
Portabilität
Anpassbarkeit
Installierbarkeit
Koexistenz
Austauschbar-keit
Effizient
Zeitverhalten
Verbrauchs-verhalten
Zuverlässigkeit
Robustheit
Fehlertoleranz
Wiederherstell-barkeit
ENTWICKLUNGSRICHTLINIEN
5AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ENTWICKLUNGSRICHTLINIEN
ZWECK
Erleichterung der Zusammenarbeit
Schnelle Einbindung neuer Mitarbeiter
Schaffung von Verbindlichkeit
Sicherstellung Qualität
Wartbarkeit
Analysierbarkeit
Verständlichkeit
6AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ENTWICKLUNGSRICHTLINIEN
7AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
PRINZIPIEN
Standards haben stets Vorrang
Reduzierung auf das Wesentliche
Lege nichts fest was nicht überprüft werden kann
Toolunterstützung wo immer möglich
Gemeinsame Festlegung im Team
Loslegen und ändern bei Bedarf
8AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
PRINZIPIEN
FORTLAUFENDE ÜBERPRÜFUNG DER EINHALTUNG
Was nicht überprüft wird, wird auch nicht eingehalten.
Verantwortung jedes einzelnen
Verantwortung im Team
9AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Ich prüfe selbst
Automatisierte
Überprüfung
Gegenseitige Überprüfung
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
AUTOMATISCHE ÜBERPRÜFUNG DURCH DIE ENTWICKLUNGSUMGEBUNG
ICH PRÜFE SELBST
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 10
ICH PRÜFE SELBST
AUTOMATISCHE ÜBERPRÜFUNG DURCH DIE
ENTWICKLUNGSUMGEBUNG
Fortlaufend im Hintergrund
Unterstützung bei der Korrektur
Ich erkenne Fehler bevor es jemand anderes tut!
11AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
KOMPILER
SYNTAX, DOKUMENTATION
12AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Richtlinie: Keine Warnings
CODE ANALYSE
NAMENSKONVENTIONEN, SICHERHEIT, …
13AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Richtlinie: Keine Warnings
STYLECOP
NAMENSKONVENTIONEN, FORMATIERUNG
14AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Richtlinie: Keine Warnings
LAYER DIAGRAM
Richtlinie:
Jede Projektmappe enthält ein Layerdiagramm
Keine Fehler bei der Validerierung
15AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
RESHARPER
16AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Richtlinie: Eine Klasse wir nur „grün“ verlassen
DEMO
REGELSATZ
Festlegung des Regelsatzes
Statische Code Analyse
Style Cop
ReSharper
Apply Company Policy
https://www.nuget.org/packages/AIT.CompanyPolicy
https://github.com/AITGmbH/ApplyCompanyPolicy.Template
http://aitgmbh.github.io/ApplyCompanyPolicy.Template/
17AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ÜBERPRÜFUNG ANHAND VON KENNZAHLEN
ICH PRÜFE MICH SELBST
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 18
ICH PRÜFE MICH SELBST
ÜBERPRÜFUNG ANHAND VON KENNZAHLEN
Klare Entscheidungskriterien
Zeitnahe Korrektur solange ich im Kontext bin
Ich erkenne Fehler bevor es jemand anderes tut!
19AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
CODE METRIKEN
Richtlinie: Wartbarkeitsindex > 60
CODE COVERAGE
Richtlinie: Code Coverage > 40 %
DUPLIKATSANALYSE
Richtlinie: keine Duplikate (Exact, Strong)
KLASSENDIAGRAMM
Richtlinie: jedes Projekt enthält ein Klassendiagramm
DEMO
KENNZAHLEN
Code Metriken
Code Coverage
Duplikatsanalyse
24AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
TOOLS, TOOLS, TOOLS
WENN DAS NICHT REICHT…
JSLint (JavaScript)
SonarLint (Roslyn)
PSScriptAnalyser (PowerShell)
Liste von Werkzeugen zur Statischen Code Analyse
25AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS
AUTOMATISIERTE ÜBERPRÜFUNG
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 26
CHECK-IN POLICIES
Richtlinie:
Kein Check-In ohne Work Item
Kein Check-In ohne Kommentar
AUTOMATISIERTE ÜBERPRÜFUNG
TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS
Kompiler
Statische Code Analyse
Style Cop
Layervalidierung
Unit- und Integrationstests
Code Coverage
Code Metrics
28AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
BUILDPROZESS
REPORTING
29AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
https://msdn.microsoft.com/library/dd380683.aspx
SONARQUBE
30AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Plugins
AUTOMATISIERTE ÜBERPRÜFUNG
TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS
Reports geben eine gute Übersicht, aber…
Main Branch als Quality Gate
Nur geprüfter Code kommt in das Repository
31AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
BUILDPROZESS
BUILDPROZESS
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
REGELMÄßIGE GEGENSEITIGE REVIEWS
GEGENSEITIGE ÜBERPRÜFUNG
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 34
GEGENSEITIGE ÜBERPRÜFUNG
Wechselnde Rollen
Fokus
Architektur
Testing
Implementierung
UI-Design
Termin und Timebox
GEGENSEITIGE ÜBERPRÜFUNG
TEAM-QUALITÄT
Weitergabe von Wissen und Erfahrung
Neue Impulse und Denkanstöße
Eliminierung von Engpässen
Risiko-Minimierung durch Fehlentscheidungen einzelner
Personen
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ERARBEITUNG DER RICHTLINIEN
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 38
ERARBEITUNG DER RICHTLINIEN
VORGABE VON AUßEN
Automatisierung der Richtlinien soweit möglich
Erstellung eines Company Policy Packages
Integration In den Buildprozess
39AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
ERARBEITUNG DER RICHTLINIEN
FESTLEGUNG IM TEAM
Brainstorming
Einbeziehung aller Teammitglieder
Loslegen und bei Bedarf ändern
Konsistente Einstellung der Werkzeuge schwierig
40AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
BEISPIEL AIT
ENTWICKLUNGSRICHTLINIEN
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 41
AIT DEVELOPMENT GUIDELINES
42AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
BEST PRACTICES
Standards haben stets Vorrang
Reduzierung auf das Wesentliche
Lege nichts fest was nicht überprüft werden kann
Toolunterstützung wo immer möglich
Gemeinsame Festlegung im Team
Loslegen und ändern bei Bedarf
Früh starten, sonst wird’s aufwändig!
43AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
WEITERFÜHRENDE INFORMATIONEN
Spickzettel für Entwickler
Entwicklungsrichtlinien auf einem Blatt
Effizient im Team mit Architektur- und Code-Reviews
Kurz, knackig und konstruktiv
AIT Apply Company Policy
https://www.nuget.org/packages/AIT.CompanyPolicy
https://github.com/AITGmbH/ApplyCompanyPolicy.Template
44AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
WEITERE VORTRÄGE VON AIT
01.10.2015 15:45, Gutenbergsaal 1
TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller
45AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
BESUCHEN SIE UNSEREN STAND
Holen Sie den
kostenlosen
AIT Debugger
46AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
Gewinnen Sie ein
Microsoft Band
AIT GmbH & Co. KGLeitzstr. 45, 70469 Stuttgart
www.aitgmbh.de
+49 711 49066430
BERATUNGAgile ALM und TFS
.NET und Architektur
ENTWICKLUNGDienstleister für individuelle
Lösungen mit .NET und Azure
© AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und
ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der Kennzeichnung kann nicht geschlossen werden, dass es sich bei einem Begriff oder einem Bild nicht um eine
eingetragene Marke oder ein eingetragenes Warenzeichen handelt.
AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.
WIR UNTERSTÜTZEN SIE
47