Praktikum SDE Code Reviews: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(25 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Autor: [[Benutzer:Ulrich_Schneider| Prof. Schneider]]
== Einleitung ==
== Einleitung ==
Mit dem Review werden Arbeitsergebnisse der Softwareentwicklung manuell geprüft. Jedes Arbeitsergebnis kann einer Durchsicht durch eine andere Person unterzogen werden. Der oder das Review ist eine statische Testmethode und gehört in die Kategorie der analytischen Qualitätssicherungsmaßnahmen.
Mit dem Review werden Arbeitsergebnisse der Softwareentwicklung manuell geprüft. Jedes Arbeitsergebnis kann einer Durchsicht durch eine andere Person unterzogen werden. Der oder das Review ist eine statische Testmethode und gehört in die Kategorie der analytischen Qualitätssicherungsmaßnahmen.
Zeile 6: Zeile 8:
Der untersuchte Gegenstand eines Reviews kann verschieden sein. Es wird vor allem zwischen einem Code-Review (Quelltext) und einem Architektur-Review (Softwarearchitektur, insbesondere Design-Dokumente) unterschieden. Diesen Bereichen zugeordnet sind technische Dokumente wie etwa Readmes, Installationsanweisungen oder Bedienungsanleitungen, aber auch Programme oder Skripte, die für eine Installation gebraucht werden, sowie Dokumente mit Informationen und Anweisungen an andere, ähnlich qualifizierte Entwickler, um diese zu befähigen, den Übersetzungsvorgang der Quellen zu einem späteren Zeitpunkt erfolgreich zu reproduzieren, etwa für ein Bug-Fixing (Fehlerkorrektur) oder eine Weiterentwicklung.
Der untersuchte Gegenstand eines Reviews kann verschieden sein. Es wird vor allem zwischen einem Code-Review (Quelltext) und einem Architektur-Review (Softwarearchitektur, insbesondere Design-Dokumente) unterschieden. Diesen Bereichen zugeordnet sind technische Dokumente wie etwa Readmes, Installationsanweisungen oder Bedienungsanleitungen, aber auch Programme oder Skripte, die für eine Installation gebraucht werden, sowie Dokumente mit Informationen und Anweisungen an andere, ähnlich qualifizierte Entwickler, um diese zu befähigen, den Übersetzungsvorgang der Quellen zu einem späteren Zeitpunkt erfolgreich zu reproduzieren, etwa für ein Bug-Fixing (Fehlerkorrektur) oder eine Weiterentwicklung.


Beim Code-Review wird ein Programmabschnitt nach oder während der Entwicklung von einem oder mehreren Gutachtern Korrektur gelesen, um mögliche Fehler, Vereinfachungen oder Testfälle zu finden. Dabei kann der Gutachter selbst ein Softwareentwickler sein. Für unerfahrene Entwickler bietet der Code-Review durch einen erfahrenen Programmierer eine gute Möglichkeit, sich schnell und praxisorientiert weiterzubilden.
Beim Code-Review wird ein Programmabschnitt nach oder während der Entwicklung von einem oder mehreren Gutachtern Korrektur gelesen, um mögliche Fehler, Vereinfachungen oder Testfälle zu finden. Dabei kann der Gutachter selbst ein Softwareentwickler sein. Für unerfahrene Entwickler bietet der Code-Review durch einen erfahrenen Programmierer eine gute Möglichkeit, sich schnell und praxisorientiert weiterzubilden.
 
Dieser Vortrag gibt einen Überblick über das Thema Code Review.


==Ihre Aufgaben ==
==Ihre Aufgaben ==
* Recherchieren Sie was ein Code Review ist und wie dieses durchgeführt werden kann (s. Weblinks und Literatur).
* Recherchieren Sie was ein [[Anleitung_zum_Code_Review|Code Review]] ist und wie dieses durchgeführt werden kann (s. Weblinks und Literatur).
* Tragen Sie ihr Modul mit Link in die Tabelle ein, welches zu reviewen ist.
* Tragen Sie ihr Modul mit Link in die Tabelle ein, welches zu reviewen ist.
* Tragen Sie sich als RevieW ein.
* Tragen Sie sich als Prüfer ein.
* Führen Sie das Review anhand der Vorlage durch und dokumentieren Sie es hier: <code>https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Testdokumente/CodeReviews/</code>
* Führen Sie das Review anhand der Vorlage durch und dokumentieren Sie es hier: <code>https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Testdokumente/CodeReviews/</code>
* Optimieren Sie Ihren Quelltext anhand des Code Reviews.
* Optimieren Sie Ihren Quelltext anhand des Code Reviews.
Zeile 23: Zeile 23:
! #                                          !! Modul                      !! Autor  !! Review von !! Datum
! #                                          !! Modul                      !! Autor  !! Review von !! Datum
|-
|-
| 1 || [[BSF - Bahn- und Spurführung]]||[[Benutzer:Yanick-Christian_Tchenko|Yanick Christian Tchenko]]||  ||
| 1 || [[BSF - Bahn- und Spurführung]] [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Testdokumente/Unittests/BSF/3210_Verhalten_an_Stopp-Kreuzung/ SVN]||[[Benutzer:Yanick-Christian_Tchenko|Yanick Christian Tchenko]]|| [[Benutzer:Tim-Leonard_Bexten|Tim Leonard Bexten]] ||
|-
|-
| 2 || ||  ||[[Benutzer:Yanick-Christian_Tchenko|Yanick Christian Tchenko]] ||
| 2 || [[SenKam_-_Stopplinienerkennung]] [https://svn.hshl.de/svn/MTR_SDE_Praktikum/branches/2019_10_11_BSF_Stopplinienverhalten/Marcel_Broeckelmann_Arbeitsordner/CaroloCupFahrzeug/bibliotheken/ SVN] || [[Benutzer:Marcel_Broeckelmann|Marcel Bröckelmann]] || [[Benutzer:Luca Di-Lillo|Luca Di Lillo]]   || 14.12.2019
|-
|-
| 3 ||  || || ||
| 3 ||[[Bildentzerrung und KOS-Transformation]] Teil 1 [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Teams/OSE/OSE_Bexten_Di_Lillo/OSE_Bahnspurpolynom/Bahnspurpolynom_verlinkt SVN] || [[Benutzer:Tim-Leonard_Bexten|Tim Leonard Bexten]] und [[Benutzer:Luca Di-Lillo|Luca Di Lillo]] || [[Benutzer:Marcel_Broeckelmann|Marcel Bröckelmann]] ||
|-
|-
| 4 ||  || || ||
| 4 || [[Bildentzerrung und KOS-Transformation]] Teil 2 [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Teams/OSE/OSE_Bexten_Di_Lillo/OSE_Bahnspurpolynom/Bahnspurpolynom_verlinkt SVN]|| [[Benutzer:Tim-Leonard_Bexten|Tim Leonard Bexten]] und [[Benutzer:Luca Di-Lillo|Luca Di Lillo]]  || [[Benutzer:Yanick-Christian_Tchenko|Yanick Christian Tchenko]] || 19.12.2019
|}
|}


== Vorgehensweise bei der statischen Codeanalyse ==
== Vorgehensweise bei der statischen Codeanalyse ==
# Walk-Trough
# Walktrough
# Technisches Review
# Inspektion
# Inspektion


== Ablauf Code-Review==
== Ablauf Code-Review==
# Bereitstellung des Codes
# Autor stellt den Quellcodes bereit.
# Vorbereitung des Prüfers
# Autor initiiert eine Code Review Anfrage.
# Autor führt Durch den Code (Walk-Trough)
# Autor führt den Prüfer durch den Code (Walktrough).
# Prüfer identifiziert Probleme
# Prüfer identifiziert Probleme (Inspektion).
# Befunde werden festgehalten
# Prüfer prüft den Code und dokumentiert die Funde (Code_Review_Vorlage.docx).
# Autor arbeitet Befunde ein
# Prüfer gibt das Dokument an den Autor zurück.
# Wiederholung/erneutes Review (GOTO 1)
# Autor arbeitet Befunde ein.
 
# Autor initiiert eine neue Runde des Review-Prozesses (GOTO 1).
== Fragen des Reviewers ==
# Wurden die [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Anforderungsmanagement/Lastenheft/Namenskonventionen.pdf Programmierrichtlinien] eingehalten?
# Wurde bei C Code Programmierung der MISRA Standard eingehalten?


== Weblinks ==
== Weblinks ==
* [[Anleitung_zum_Code_Review|HSHL-Wiki: Anleitung zum Code Review]]
* [https://de.wikipedia.org/wiki/Review_(Softwaretest) Wikipedia: Review (Softwaretest)]
* [https://de.wikipedia.org/wiki/Review_(Softwaretest) Wikipedia: Review (Softwaretest)]
* [https://www.doag.org/formes/pubfiles/6774263/2015-null-Rabea_Gransberger-Code_Reviews__Techniken_und_Tipps-Praesentation.pdf Code Reviews: Techniken und Tipps]
* [https://www.doag.org/formes/pubfiles/6774263/2015-null-Rabea_Gransberger-Code_Reviews__Techniken_und_Tipps-Praesentation.pdf Code Reviews: Techniken und Tipps]

Aktuelle Version vom 3. Januar 2020, 14:09 Uhr

Autor: Prof. Schneider

Einleitung

Mit dem Review werden Arbeitsergebnisse der Softwareentwicklung manuell geprüft. Jedes Arbeitsergebnis kann einer Durchsicht durch eine andere Person unterzogen werden. Der oder das Review ist eine statische Testmethode und gehört in die Kategorie der analytischen Qualitätssicherungsmaßnahmen.

In Anlehnung an die IEEE-Norm 729 ist das Review ein mehr oder weniger formal geplanter und strukturierter Analyse- und Bewertungsprozess, in dem Projektergebnisse einem Team von Gutachtern präsentiert und von diesem kommentiert oder genehmigt werden.

Der untersuchte Gegenstand eines Reviews kann verschieden sein. Es wird vor allem zwischen einem Code-Review (Quelltext) und einem Architektur-Review (Softwarearchitektur, insbesondere Design-Dokumente) unterschieden. Diesen Bereichen zugeordnet sind technische Dokumente wie etwa Readmes, Installationsanweisungen oder Bedienungsanleitungen, aber auch Programme oder Skripte, die für eine Installation gebraucht werden, sowie Dokumente mit Informationen und Anweisungen an andere, ähnlich qualifizierte Entwickler, um diese zu befähigen, den Übersetzungsvorgang der Quellen zu einem späteren Zeitpunkt erfolgreich zu reproduzieren, etwa für ein Bug-Fixing (Fehlerkorrektur) oder eine Weiterentwicklung.

Beim Code-Review wird ein Programmabschnitt nach oder während der Entwicklung von einem oder mehreren Gutachtern Korrektur gelesen, um mögliche Fehler, Vereinfachungen oder Testfälle zu finden. Dabei kann der Gutachter selbst ein Softwareentwickler sein. Für unerfahrene Entwickler bietet der Code-Review durch einen erfahrenen Programmierer eine gute Möglichkeit, sich schnell und praxisorientiert weiterzubilden.

Ihre Aufgaben

  • Recherchieren Sie was ein Code Review ist und wie dieses durchgeführt werden kann (s. Weblinks und Literatur).
  • Tragen Sie ihr Modul mit Link in die Tabelle ein, welches zu reviewen ist.
  • Tragen Sie sich als Prüfer ein.
  • Führen Sie das Review anhand der Vorlage durch und dokumentieren Sie es hier: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Testdokumente/CodeReviews/
  • Optimieren Sie Ihren Quelltext anhand des Code Reviews.
  • Besprechen Sie bis zur Deadline 20.12.19 das Ergebnis mit Prof. Schneider.

Review Zuordnung

# Modul Autor Review von Datum
1 BSF - Bahn- und Spurführung SVN Yanick Christian Tchenko Tim Leonard Bexten
2 SenKam_-_Stopplinienerkennung SVN Marcel Bröckelmann Luca Di Lillo 14.12.2019
3 Bildentzerrung und KOS-Transformation Teil 1 SVN Tim Leonard Bexten und Luca Di Lillo Marcel Bröckelmann
4 Bildentzerrung und KOS-Transformation Teil 2 SVN Tim Leonard Bexten und Luca Di Lillo Yanick Christian Tchenko 19.12.2019

Vorgehensweise bei der statischen Codeanalyse

  1. Walktrough
  2. Inspektion

Ablauf Code-Review

  1. Autor stellt den Quellcodes bereit.
  2. Autor initiiert eine Code Review Anfrage.
  3. Autor führt den Prüfer durch den Code (Walktrough).
  4. Prüfer identifiziert Probleme (Inspektion).
  5. Prüfer prüft den Code und dokumentiert die Funde (Code_Review_Vorlage.docx).
  6. Prüfer gibt das Dokument an den Autor zurück.
  7. Autor arbeitet Befunde ein.
  8. Autor initiiert eine neue Runde des Review-Prozesses (GOTO 1).

Weblinks

Literatur



→ zurück zum Hauptartikel: Praktikum SDE