Tutos & Astuces

Regrouper son code avec NetBeans

Voilà une astuce qui va plaire aux fans de NetBeans qui sont perdus dans les nombreuses lignes de codes de certains fichiers, comme sur certains projets Symfony pour ma part....

Voilà une astuce qui va plaire aux fans de NetBeans qui sont perdus dans les nombreuses lignes de codes de certains fichiers, comme sur certains projets Symfony pour ma part.

Nous allons apprendre le principe du code folding, autrement dit, comment regrouper des morceaux de codes pour organiser ses fichiers.

La méthode est très simple, il suffit d’ajouter les balises suivantes en commentaire dans votre code :

// <editor-fold defaultstate="collapsed" desc="user-description">
  Votre code
// </editor-fold>
  • L’attribut defaultstate vous permet de définir si le groupe de code doit être par défaut ouvert ou fermé.
  • L’attribut desc vous permet d’ajouter une description à votre groupe, afin de vous retrouver dans votre code.

Rien de tel pour comprendre qu’un bon exemple ! Prenons cette classe PHP :

<?php

class HelloClass
{
    protected $toto;
    protected $tata;
    protected $titi;
    protected $tutu;

    public function __construct() {
        $this->toto = 'Toto';
        $this->tata = 'Tata';
        $this->titi = 'Titi';
        $this->tutu = 'Tutu';
    }

    public function totoSayHelloTo(string $name) {
        return $this->toto . ' say "Hello ' . $name . '!"';
    }

    public function tataSayHelloTo(string $name) {
        return $this->tata . ' say "Hello ' . $name . '!"';
    }

    public function titiSayHelloTo(string $name) {
        return $this->titi . ' say "Hello ' . $name . '!"';
    }

    public function tutuSayHelloTo(string $name) {
        return $this->tutu . ' say "Hello ' . $name . '!"';
    }
}

?>

Je vous l’accorde, cette classe a autant d’intérêt que d’optimisation, mais bon, c’est juste un exemple ! 😛

Disons que nous souhaitons regrouper les attributs, le constructeur et les fonctions de type « SayHello » dans 3 groupes différents, avec le groupe des attributs ouvert par défaut. Le code doit donc ressembler à ceci :

<?php

class HelloClass
{
    // <editor-fold desc="Attributes">

    protected $toto;
    protected $tata;
    protected $titi;
    protected $tutu;

    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Constructor">

    public function __construct() {
        $this->toto = 'Toto';
        $this->tata = 'Tata';
        $this->titi = 'Titi';
        $this->tutu = 'Tutu';
    }

    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Hello methods">

    public function totoSayHelloTo(string $name) {
        return $this->toto . ' say "Hello ' . $name . '!"';
    }

    public function tataSayHelloTo(string $name) {
        return $this->tata . ' say "Hello ' . $name . '!"';
    }

    public function titiSayHelloTo(string $name) {
        return $this->titi . ' say "Hello ' . $name . '!"';
    }

    public function tutuSayHelloTo(string $name) {
        return $this->tutu . ' say "Hello ' . $name . '!"';
    }

    // </editor-fold>
}

?>

A votre prochaine ouverture de fichier, vous devriez voir le code apparaitre comme suit :

NetBeans code folding, regroupement de code

Avouez que c’est tout de même plus clair ! 🙂

L’inconvénient de cette méthode, c’est qu’elle ne fonctionne que sur NetBeans, pas très pratique donc pour les projets en groupes où les membres utilisent des IDE différents…
Si vous avez une solution plus générique, je suis à l’écoute ! 😉

Vous trouverez plus d’informations sur le principe du code folding avec NetBeans sur le site officiel.

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0