Author
andi-albrecht
View
2.196
Download
10
Embed Size (px)
DESCRIPTION
Talk given at PyCon DE 2011. See http://de.pycon.org/2011/schedule/sessions/17/ for details (german).
2. Andi Albrecht @andialbrechtErster Python-Kontakt vor knapp 10 Jahren als StudentischeHilfskraft bei der DFGAktuell: Anwendungsentwickler fr Webapplikationen bei uProUnix in BonnEntwicklung und Pege mittlerer und groer SystemeOpenSource: Rietveld Code Review Tool, python-sqlparse,CrunchyFrog, hgsvn, ...QS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 3. UbersichtQS in der EntwicklungStatische Code-Analyse Begri Probleme, Fehler, Warnungen, InfosDie Tools fr Python-Code u Ubersicht Ausfhrung und Interpretationu IntegrationVerbesserung der Code-QualittaQS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 4. QS in der EntwicklungQualittssicherung bei ProUnixaProzessbegleitende QS vom Konzept bis zum fertigemProduktQS in der Entwicklung ab der ersten Zeile Code(oder besser noch: als erste Zeile)Code Reviews, UnitTests, Continous Integration (BuildBot),Statische Code-AnalyseQS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 5. Was ist Statische Code-Analyse?Statisches Testverfahren (ohne Programmausfhrung) uInspektion des Source-CodesLeicht automatisierbar, sollte auch automatisiert ausgefhrtuwerden Regelmige Analysen, um Anderungen zwischen zwei aDurchgngen zu erkennen aUmfangreiche Ausgaben (Informationsut)QS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 6. Was kann gefunden werden?Syntaktische FehlerStilfehler, Einhaltung von Coding-StandardsSoftware Metriken: LOC, Komplexitt, ... aBad Smells ! Keine Aussagen uber Korrektheit oder Zuverlssigkeit aQS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 7. Tools fr Python-Code (Auswahl) uPyLint Syntax-Checks, Bad Smells, Style-Checks, MetrikenPyChecker Syntax-Checks, Bad Smells, Modul-Importerforderlichpyakes Syntax-Checks, Bad Smells pep8 Style-Checks McCabe Metriken ake8 Syntax-Checks, Bad Smells, Style-Checks, MetrikenQS in der Entwicklung Statische Code-Analyse Die Tools fr Python-CodeuVerbesserung der Code-Qualitt a Statische Code-Analyse / Andi Albrecht ProUnix / PyCon DE 2011 8. Beispiel: PyLint 1import sys 2def mergesort(l): 3# sort l using mergesort algorithm 4if len(l)