没有合适的资源?快使用搜索试试~ 我知道了~
Open Source CheckStyle Tools
需积分: 0 0 下载量 19 浏览量
2011-12-13
22:37:43
上传
评论
收藏 767KB PDF 举报
温馨提示
试读
27页
Open Source的CheckStyle工具比较。
资源详情
资源评论
资源推荐
Berufsakademie Stuttgart - Außenstelle Horb
Fachrichtung Informationstechnik
Code-Review in Java
Möglichkeiten, Tools und Anwendung
erstellt im Rahmen der Vorlesung:
Software-Engineering · Semester 5 · Dozent: Prof. Dr.-Ing. Olaf Herden
Martin Linder <lima3@ba-horb.de>
Markus Ulmer <ulma@ba-horb.de>
Inhaltsverzeichnis
1. Einführung 4
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Verschiedene Varianten des Code-Reviews . . . . . . . . . . . . . . . . . . 5
1.2.1. Analyse nach Metriken . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2. Stil-Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3. Programmfluss-Analyse . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Möglichkeiten und Grenzen des Code-Review . . . . . . . . . . . . . . . . 6
1.4. Ansätze zur Durchführung von Code-Reviews . . . . . . . . . . . . . . . . 7
2. CAP: Code Analysis Plugin 8
2.1. Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Konfiguration & Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. Checkstyle 12
3.1. Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2. Konfiguration & Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3. Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. PMD 15
4.1. Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2. Konfiguration von PMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3. Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4. Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5. FindBugs 18
5.1. Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2. Konfiguration von Findbugs . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3. Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.4. Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2
Inhaltsverzeichnis
6. Fortify 22
6.1. Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2. Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.3. Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7. Fazit 24
7.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
A. Freie Tools für Java-Code-Review 26
3
1. Einführung
„Viele Programmierer wechseln nach zwei Jahren den Arbeitgeber, da sie ih-
ren eigenen Code nicht mehr lesen können. Dafür übernehmen sie ein Projekt,
von einem anderen Programmierer, der gerade gekündigt hat, da er ebenfalls
den Code nicht mehr lesen kann. Nach einigen Wochen oder Monaten über-
zeugt der Programmierer in seiner neuen Stelle seinen Chef, den Code seines
Vorgängers zu verwerf en und neu zu beginnen. Nach zwei Jahren wiederholt
sich die Geschichte.“ [Büt03]
1.1. Motivation
Heutzutage wird in sehr vielen Branchen effektive Teamarbeit gefordert. So sind an grö-
ßeren IT-Projekten oft viele Programmierer beteil igt. Oftmals zeigt sich, dass d abei jeder
einen eigenen Programmierstil hat, was sich für die Teamarbeit sehr störend auswirkt.
Aus diesem Grund werden in vielen Unternehmen spezielle Codekonventionen festge-
legt, an die sich die Programmierer halten müssen. Code-Review dient zum Durchsetzen
solcher Regeln und kann auf verschiedene Arten durchgeführt werden.
Code-Review im eigentlichen Sinne bedeutet die Durchsicht und Überprüfung von Quell-
texten durch eine andere Person. Es dient der Verbesserung sowie der Qualitätssiche-
rung von Computerprogrammen. Der Code-Reviewer überprüft dann unter anderem die
Einhaltung der Co d ekonventionen. Der Einsatz von Mitarbeitern als Co de-Reviewer ist
allerdings relativ teuer, da der Mitarbeiter m it dieser Arbeit voll ausgelastet ist.
Glücklicherweise gibt es heutzutage auch günstigere und effiziente Möglichkeiten des
Code-Reviews: Auf dem Markt sind zahlreiche Produkte verfügbar, die neben dem Über-
prüfen des Quelltextes auf Codekonventionen auch weitere sehr interessante Features bie-
ten, wie beispielsweise die Erkennung von BufferOverflows oder NullPointerExceptions
im Vorfeld. Im Rahmen dieser Arbeit sollen verschiedene Software-Produkte vorgestellt
und beurteilt werden.
4
1. Einführung
1.2. Verschiedene Varianten des Code-Reviews
Das Hauptaugenmerk beim Code-Review liegt in der Überprüfung der Einhaltung von
Codekonventionen. Allerdings sind heutzutage auf dem Markt zahlreiche Tools verfügbar,
die noch einiges mehr leisten. Dabei ist eine Unterteilung in drei Kategorien sinnvoll
[Rup05].
1.2.1. Analyse nach Metriken
Die Analyse nach Metriken findet auf Quellcode-Ebene statt. Hierbei wird die Design-
Qualität in Hinblick auf Erweiterbarkeit, Wiederverwendbarkeit und Wartbarkeit unter-
sucht.
Existieren viele Abhängigkeiten zwischen Paketen, so führt dies zu schlechter Wiederver-
wendbarkeit und zu hohen Wartungskosten. Ziel der Softwareentwicklung s ollte es also
sein, eine lose Kopplung zwischen Paketen zu schaffen.
Beispiele für Tools, die eine Metrik-Analyse durchführen, sind JDepend und CAP - Code
Analysis Plugin, auf welches später noch eingegangen wird.
1.2.2. Stil-Analyse
Auch die Stil-Analyse bewegt sich auf der Quellcode-Ebene. H ierbei wird vor allem di e
Einhaltung von Codekonventionen überprüft, was der Erhöhung der Lesba rkeit des Co-
des dient. Dies umfasst unter anderem die Benennung von Variablen, Konstanten und
Methoden. Außerdem kann beispielsweise überprüft werden, ob für Ausgaben immer ein
Logging-Framework anstatt von normalen print-Befehlen benutzt wird.
Neben solchen Konventionen kann in der Stil-Analyse auch die Code-Dokumentation
überprüft werden: So werden beispielsweise alle relevanten Javadoc-Parameter auf Vor-
handensein kontrolliert und validiert. Es kann auch geprüft werden, ob für alle Pakete
eine Beschreibungsdatei (package.html) vorliegt.
Zwei Tools zur Stil-Analyse (Checkstyle und PMD) werden im Folgenden n och detailliert
beschrieben.
5
剩余26页未读,继续阅读
floatin
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PHP端通过modbus协议跟第三方设备进行数据通信
- navicat安装包亲测可用
- 算法部署-使用OpenVINO部署MobileStyleGAN轻量化高保真图像合成算法-项目源码-优质项目实战.zip
- 基于java实现远程采集华为逆变器使用modbus tcp协议进行通讯的设备数据
- Unity画面共享Spout插件
- 基于C++用modbus实现的工业设备的数据采集程序,支持Tcp、串口
- 完结12章AI Agent智能应用从0到1定制开发
- 15白落梅:你是锦瑟我为流年:三毛的万水千山-3491776.mobi
- Federated Learning-Aided Prognostics in the Shipping 4.0: Princi
- OFDM 的鲁棒频率和定时同步文献部分阅读笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0