Articles tagués tutoriel

Refactoring: un exemple simple en Ruby

Bonjour,

Récemment, on m’a demandé « A quoi ça sert, le refactoring ? ». À cette question, ma réponse est toujours la même :

Une ligne de code, je l’écrit une fois, mais je la lit des dizaines de fois. Et peut-être que d’autres personnes la liront à leur tour des dizaines de fois. La logique veut donc qu’on juge la qualité d’un code à sa lecture.

Cet article est le premier d’une série consacrée au refactoring. Je prendrais des exemples concrets, tirés (ou adaptés) d’applications réelles et je montrerais comment en améliorer la lisibilité. La série ne sera pas centrée uniquement sur le langage Ruby. Il pourra y avoir de temps à autre des exemples en Java, Python, Php, etc.

L’exemple d’aujourd’hui est une classe très simple, qui explore la ligne de commande pour trouver quelle commande l’utilisateur souhaite lancer. Il est tiré de yabu, un utilitaire de sauvegarde pour linux.
Voici la classe CommandParser telle qu’elle existait:

Lire la suite »

Publicités

, , ,

3 Commentaires

Sélection de la version par défaut d’une application sur Debian

Votre ordinateur peut contenir plusieurs versions différentes d’un même logiciel, ou bien plusieurs programmes aux fonctionnalités similaires. Sur Debian, comme ailleurs, il y a une fonction qui permet de selectionner le programme précis qui sera utilisé par défaut par le système, lorsque ce n’est pas l’utilisateur qui choisit. Il s’agit de la commande update-alternatives.

Cet article est plus un aide-mémoire à usage personnel qu’un véritable tutoriel. En effet, je n’arrive jamais à me souvenir de cette commande quand j’en ai besoin. Ceci devrait donc m’éviter de perdre du temps à l’avenir…

Lire la suite »

, , ,

Poster un commentaire

3 trucs pour simplifier son code Ruby

Pour me faire la main avec Ruby, j’ai écrit un clone du célèbre jeu Sokoban. J’ai tiré des sources 3 trucs pratiques pour se simplifier la vie et rendre son code plus lisible.
Vous pouvez télécharger le jeu avec les sources sur GitHub (attention, pas d’interface graphique pour le moment, juste la console en mode texte). Pour l’installer, ou savoir comment jouer, n’hésitez pas à consulter le wiki.

Lire la suite »

, ,

3 Commentaires

Comment tester une méthode privée en Ruby

Les tests unitaires, c’est nécessaire. Mais jusqu’où faut-il aller ?
Voici ce que je pense du test des méthodes privées :

  1. Tester toutes les méthodes privées serait, au mieux, une énorme perte de temps.
  2. Tester une méthode privée par ci, par là peut vraiment simplifier la vie.

Alors, comment faire ? Avec Ruby il y a plusieurs solutions. La seule dont je me sert a été trouvé sur le blog de Jason Rudolph.
Je vous livre ci-dessous une traduction française, plus quelques brèves explications pour les débutants.

Lire la suite »

, , , , , ,

Poster un commentaire

Ecrire un plugin Cairo-Dock avec D-bus en Python

Si vous utilisez Cairo-Dock, vous avez sûrement eu envie d’écrire vous même un plugin. Mais vous ne connaissez pas le langage C (Cairo-Dock est développé en C) ou vous ne voulez pas vous lancer dans la compilation des sources ? Qu’à cela ne tienne, depuis la version 2.1.3 vous pouvez écrire facilement un plugin dans un langage de script, Python par exemple, grâce au démon de communication inter-processus D-bus.

Lire la suite »

, , , , , ,

Poster un commentaire

Introduction au langage Sed

Méconnu des développeurs, Sed est un mini langage, spécialisé dans la transformation de fichiers textuels, qui vous rendra bien des services. Disponible d’office dans linux, il s’utilise dans un script ou comme filtre de la ligne de commande. Il a pour lui quelques atouts :

  • forte spécificité (il ne fait pas grand chose, mais il le fait bien)
  • performances excellentes (il existe depuis près de 40 ans)
  • stabilité/pérennité (on l’utilise toujours au bout de 40 ans)

Lire la suite »

, , ,

Poster un commentaire

Un notificateur de mail en python

Vous utilisez certainement un notificateur de mail. Vous savez, ce petit programme (plugin, application, desklet, etc) qui vous prévient en temps réel que vous avez un nouveau courriel. Vous voulez savoir comment cela fonctionne ? Vous avez besoin d’une base pour commencer à écrire le votre ? Alors suivez le guide. Lire la suite »

, , , , , ,

2 Commentaires