Codeanalyse Mit Intellij IDEA

Codeanalyse Mit Intellij IDEA

IntelliJ IDEA - Die bessere Java IDE I kommerzielle Java IDE seit 2001 I Aufteilung in Open Source Community Edition und kommerzielle Ultimate Edition in 2009 I Verschiedene spezialisierte Ableger (PhpStorm, WebStorm, PyCharm, ...) I AndroidStudio (Google's neue Android IDE) basiert auf IDEA 1/9 IntelliJ Idea - Features Features I Language Support (Scala, Ruby, Python, Bash, PHP, ...) I Framework Support (JSF, Spring, AngularJS, Play, ...) I Database Tools (DB Editor, SQL Support) I VCS Integration fur¨ alle popul¨aren VCS Systeme I Sehr gute Dokumentation fur¨ die gesamte IDE I Keymaps (Eclipse, Visual Studio, Net Beans, ...) fur¨ die gewohnten Hotkeys 2/9 IntelliJ IDEA - Die bessere Java IDE Woher I An den Uni Rechnern installiert (starten mit idea) I Academic License uber¨ Herrn Schießl (R 125 IM) erh¨altlich Wo anfangen I IntelliJ IDEA Getting Started http://www.jetbrains.com/idea/documentation/ index.jsp I IntelliJ IDEA Q&A for Eclipse Users http://www.jetbrains.com/idea/documentation/ migration_faq.html 3/9 QAPlug I Plugin fur¨ IntelliJ IDEA zur Codeanalyse I Hilft Fehler / schlechten Code zur Entwicklungszeit zu finden I Fasst Meldungen von PMD, FindBugs, Checkstyle, Hammurapi zusammen* I Jedes Tool hat besondere St¨arken und Schw¨achen I Aber ist kein Allheilmittel fur¨ schlechten Code 4/9 QAPlug Woher & Was I Beinhaltet folgende Komponenten I PMD http://pmd.sourceforge.net/ - Findet prim¨ar ineffizienten/toten/doppelten Code I FindBugs http://findbugs.sourceforge.net/ - Sucht nach bekannten Fehlermustern I Checkstyle http://checkstyle.sourceforge.net/ - Pruft¨ Programmierstil I Hammurapi http://www.hammurapi.biz - Identifiziert Probleme und ubliche¨ Fehler I Fazit: Sehr m¨achtiges Tool um Fehler zu finden I Fur¨ eclipse mussen¨ die Tools einzeln installiert werden 5/9 PMD I Basiert auf einem statischen Regelwerk I Findet unter anderem folgende Probleme I M¨ogliche Bugs (z.B. leere Bl¨ocke in try,catch, switch, ...) I Toter Code (nicht genutzte Variablen) I Schlechter Code (z.B. Stringkonkatenationen, statt Buffer) I Verkomplizierter Code (for-Schleifen, die auch durch while k¨onnten) I Doppelter Code 6/9 FindBugs I Findet Probleme durch statische Codeanalyse im Bytecode I Fehlerklassen: scariest, scary, troubling, of concern I Beispiele fur¨ gefundene Probleme I Ungultiger¨ Syntax in regul¨aren Ausdrucken¨ I Assertion in run()-Methode wird von JUnit nicht erkannt I M¨ogliche Nullpointer-Dereferenzierung I Fehlerhafter Cast I Lesen von Null aus nicht geschriebenen Variablen 7/9 Checkstyle I Bekannt aus ProgII I Manchmal nervig, aber dennoch notwendig I Markiert den schlechten Umgang mit: I JavaDoc I Einhaltung von Metriken I Codestil (Zeilenl¨ange, Nameingconventions) I Verwendung von Imports I Codekomplexit¨at 8/9 Hammurapi I Analyse des Quelltextes I Idee: QA fur¨ Outsourcing-Projekte I hebt unter anderem folgende Probleme hervor: I Vergleich von Objekten mit == statt equals I Exceptionketten (Exceptions werden umgelabelt) I innere Klassen sollten private sein I Unn¨otiger Verwendung eines cast oder instanceof I Loggen von Fehlern mit System.out oder System.err 9/9.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us