User Tools

Site Tools


Problem constructing authldap
laboratoare:tutorial-checkstyle
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:tutorial-checkstyle [2017/09/28 17:32]
Mihai Burduselu [Introducere]
laboratoare:tutorial-checkstyle [2017/10/02 11:18] (current)
Tudor Paraschivescu
Line 1: Line 1:
 =Tutorial checkstyle= =Tutorial checkstyle=
  
-* Responsabil: ​todo +* Responsabil: ​[[michelcatalin@gmail.com|Mihai Burdușelu]] 
-* Data publicării: ​todo +* Data publicării: ​01.10.2017 
-* Data ultimei modificări: ​todo+* Data ultimei modificări: ​02.10.2017
  
 ==Obiective== ==Obiective==
Line 9: Line 9:
  
 ==Introducere== ==Introducere==
-Acest tool configurabil are rolul de a-i semnala programatorului faptul ca nu a respectat anumite standarde de scriere a codului (ex: [[http://checkstyle.sourceforge.net/reports/google-java-style.html|Google Java Style]], +Acest tool configurabil are rolul de a-i semnala programatorului faptul ca nu a respectat anumite standarde de scriere a codului (ex: [[http://www.oracle.com/technetwork/java/​javase/​documentation/​codeconvtoc-136057.html|Sun Code Conventions]], [[http://checkstyle.sourceforge.net/reports/google-java-style.html|Google Java Style]]).
- [[http://www.oracle.com/technetwork/java/​javase/​documentation/​codeconvtoc-136057.html|Sun Code Conventions]]).+
 Un cod care respectă standardele și un set de bune practici este mai ușor de înțeles, de depanat și de extins. Un cod care respectă standardele și un set de bune practici este mai ușor de înțeles, de depanat și de extins.
 +Aceste standarde sunt descrise într-un fișier **poo_checks.xml** (vezi Resurse), care va fi importat de către checkstyle.
  
 ==Instalare checkstyle== ==Instalare checkstyle==
Line 17: Line 17:
  
 - [[laboratoare:​tutorial-checkstyle:​eclipse]] - [[laboratoare:​tutorial-checkstyle:​eclipse]]
- 
-- Utilizare checkstyle în terminal (în terminal Ubuntu sau în git bash pe Windows) 
  
 ==Exemple de warninguri semnalate de checkstyle== ==Exemple de warninguri semnalate de checkstyle==
Line 44: Line 42:
 3. '​name'​ hides a field. [HiddenField] 3. '​name'​ hides a field. [HiddenField]
 4. Parameter minutes should be final. [FinalParameters] 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] 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]
 </​code>​ </​code>​
Line 57: Line 54:
 5. Acest warning se referă la faptul că metodele publice sau protected ale unei clase ce va fi moștenită trebuie sa fie documentate. 5. Acest warning se referă la faptul că metodele publice sau protected ale unei clase ce va fi moștenită trebuie sa fie documentate.
  
 +Următorul cod reprezintă una din modalitățile de corecție ale warningurilor anterioare.
 +<code java>
 +public class Dog {
 +    private String name;
 +
 +    public Dog(final String newName) {
 +        this.name = newName;
 +    }
 +
 +    /**
 +     * @param minutes How long this dog barks.
 +     */
 +    public void bark(final int minutes) {
 +        System.out.println("​My name is "
 +                + this.name
 +                + " and I am barking for "
 +                + minutes
 +                + " minutes."​);​
 +    }
 +}
 +
 +</​code>​
 +
 +==Resurse==
 +  * [[http://​checkstyle.sourceforge.net/​checks.html|Documentație warninguri checkstyle]]
 +  * {{:​laboratoare:​tutorial-checkstyle:​poo_checks.zip}}
  
laboratoare/tutorial-checkstyle.1506609141.txt.gz · Last modified: 2017/09/28 17:32 by Mihai Burduselu