<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to PMD, Checkstyle Tutorial</title><link>https://sourceforge.net/p/serializer203/wiki/PMD%252C%2520Checkstyle%2520Tutorial/</link><description>Recent changes to PMD, Checkstyle Tutorial</description><atom:link href="https://sourceforge.net/p/serializer203/wiki/PMD,%20Checkstyle%20Tutorial/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 12 May 2012 14:13:54 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/serializer203/wiki/PMD,%20Checkstyle%20Tutorial/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage PMD, Checkstyle Tutorial modified by Szymon Trawiński</title><link>https://sourceforge.net/p/serializer203/wiki/PMD%252C%2520Checkstyle%2520Tutorial/</link><description>I. PMD
===============

Instalacja
---------------

1. Odpal Eclipsa.
2. Sprawdź czy posiadasz wersję 2.x.x czy 3.x.x (*Help* -&gt; *About Eclipse*).
3. Procedura instalacji:
    * W Eclise otwórz: *Help* -&gt; *Install New Software*.
    * W miejsu *Work with* wpisz URL strony z której pobierzesz PMD (&lt;http://pmd.sourceforge.net/eclipse&gt;)
    * Kliknij *Add...*
    * Po chwili oczekiwania ukarzą się nam wersje PMD, które możemy ściągnąć (*PMD for Eclipse 2* i *PMD for Eclipse 3*) zaznaczcie tę wtyczkę, która pasuje do waszej wersji Eclipse'a.
    * Potem: *Next* -&gt; *Next* -&gt; *Accept License...* i *Next* -&gt; *Finish*
    * Podczas instalacji może pojawić się ostrzeżenie, że ta wtyczka nie jest autoryzowana. Mimo to instalujemy.

4. Po zakończeniu instalacji restartujemy Eclipsa.


Użytkowanie
----------------
Aby poddać nasze pliki sprawdzeniu należy otworzyć wcześniej napisany (bądź dopiero stworzony) projekt w Eclipse. W "Package Explorer" zaznaczamy nasz projekt i klikamy PPM -&gt; Properties. Wyskoczy okienko "Properties for *nazwa_projektu*" z listy po lewej wybieramy PMD. Z głównego okna zaznaczamy "Enable PMD" i klikamy OK. Następne okienko zapyta nas czy przebudować nasz projekt. Potwierdzamy.

II. Checkstyle
================

Instalacja
----------------

To samo co wyżej ale w adresie URL wklepujemy &lt;http://eclipse-cs.sourceforge.net/update&gt; i zaznaczamy *Checkstyle*. Pozostała część instalacji przebiega w dokładnie ten sam sposób jak w przypadku PMD.

Użytkowanie
----------------

Checkstyle

Checkstyle'a włączamy dokładnie w ten sam sposób do PMD. Jak już włączymy to naszym oczom ukazuje się lista (bardzo długa lista) popełnionych przez nas błędów stylistycznych ;) Przykładowo w 45 linijkowym kodzie mieliśmy 49 błędów stylowych... :P

Konfiguracja Checkstyle'a
-------------------------

Zakładam, że każdy z grupy używa Windowsa i nigdy nie będzie potrzeby przenosić kodu do innego systemu operacyjnego tak więc proponuję wstępną konfigurację Checkstyle'a aby 

uniknąć restrykcji nakładanych na kod. Chodzi tutaj tylko o tabulację, bo w większości przypadków nawet takie podstawowe sformatowanie kodu generuje błędy ;) Tak więc:

 * Klikamy na nasz projekt PPM i wybieramy 'Properties'.
 * Z listy "Simple - use the following check configuration for all files" wybieramy "Sun Checks (Eclipse) - (Global)".
 * I już ;)

III. Uwagi wszelkiej maści
==========================

 * Aby sprawdzić, które błędy generowane są przez PMD, a które przez Checkstyle w dole ekranu (zakładka Problems) wyświetlane są opisy wszystkich markerów (kolumna 'Type').

 * Dla jasności:
PMD sprawdza błędne praktyki programistyczne itd., a Checkstyle jak już wcześniej powiedziałem, błędy stylowe, czyli wygląd kodu.

 * Zaleca się aby włączyć Checkstyle'a oraz PMD możliwie jak najwcześniej (to samo tyczy się instalacji), aby uniknąć późniejszych poprawek i grzebania się w dziesiątkach błędów czy ostrzeżeń.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Szymon Trawiński</dc:creator><pubDate>Sat, 12 May 2012 14:13:54 -0000</pubDate><guid>https://sourceforge.netd66acf5c96963322dd84bbeae40393a02bba9e57</guid></item></channel></rss>