Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico...

Post on 27-Jul-2020

4 views 0 download

Transcript of Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico...

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

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

KONTAKTinfo@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