User Tools

Site Tools


Problem constructing authldap
laboratoare:tutorial-checkstyle

This is an old revision of the document!


Tutorial checkstyle

  • Responsabil: todo
  • Data publicării: todo
  • Data ultimei modificări: todo

Obiective

Scopul acestui tutorial este de a vă prezenta checkstyle, un tool de analiză statică a codului java.

Introducere

Acest tool configurabil are rolul de a-i semnala programatorului faptul ca nu a respectat anumite standarde de scriere a codului (ex: Sun Code Conventions, Google Java Style). Un cod care respectă standardele și un set de bune practici este mai ușor de înțeles, de depanat și de extins.

Instalare checkstyle

Exemple de warninguri semnalate de checkstyle

Checkstyle oferă o serie de verificări, toate listate în documentație. Să luăm ca exemplu de utilizare checkstyle următoarea clasă.

public class Dog {
    public String name;
 
    public Dog(String name) {
        this.name = name;
    }
 
    public void bark(int minutes) {
        System.out.println("I am barking for " + minutes + " minutes.");
    }
}

La rularea checkstyle vom vedea urmatoarele erori:

1. Variable 'name' must be private and have accessor methods. [VisibilityModifier]
2. Parameter name should be final. [FinalParameters]
3. 'name' hides a field. [HiddenField]
4. Parameter minutes should be final. [FinalParameters]
 
5. Class 'Dog' looks like designed for extension (can be subclassed), but the method 'bark' does not have javadoc that explains how to do that safely. If class is not designed for extension consider making the class 'Dog' final or making the method 'bark' static/final/abstract/empty, or adding allowed annotation for the method. [DesignForExtension]

Rezolvare warninguri

1. Aceasta eroare ne obliga să facem privat acest membru privat și sa oferim getteri si setteri pentru el.

2. 3. Este recomandat sa facem parametrul final, întrucât se evită modificarea unui obiect primit ca parametru în interiorul acelei metode.

4. Parametrul trebuie să aibă alt nume față de câmpul din acea clasă.

5. Acest warning se referă la faptul că metodele publice sau protected ale unei clase ce va fi moștenită trebuie sa fie documentate.

laboratoare/tutorial-checkstyle.1506442432.txt.gz · Last modified: 2017/09/26 19:13 by Mihai Burduselu