dimanche 7 mars 2010

Coder efficacement avec Emacs - Partie 1: Préliminaires

Cela fait un certain temps que je codais en amateur avec Emacs (au boulot, ils me donnaient un beau VC++ tout neuf), mais maintenant que j'ai rejoint la horde des développeurs Unix, il m'a fallu devenir bien plus efficace avec les outils fournis. Voici donc une petite introduction au fameux éditeur. Message personnel à Socrate: j'attends ton guide vim!

Quand ne pas utiliser Emacs
Pour autant que les aficionados les plus barbus prétendent que l'on peut tout faire avec Emacs (la vanne habituelle étant qu'Emacs est un bon système d'exploitation auquel il ne manque qu'un éditeur de texte potable), il est des cas où ce n'est pas forcément l'outil le plus adapté. Par exemple, pour la documentation de code. Dans Visual Studio, bien qu'intellisense ne porte pas toujours très bien son nom, c'est quand même un outil pratique pour mieux comprendre le code. Dans Emacs, les tags m'ont toujours laissés assez froid, et je ne peux donc plus me passer de mon Firefox avec la documentation Doxygen (à jour, bien entendu).

Bien que ce soit évidemment possible, je ne suis pas particulièrement fan non plus de faire tourner ses commandes unix, ou d'y regarder ses e-mails. Des histoires d'œufs et de paniers, en fait.

Rigoureux, voire rigoriste
Emacs est très efficace lorsque l'on peut répéter les commandes, travailler sur des rectangles de sélection, ou remplacer des expressions par d'autres. Il travaille également bien au niveau des lignes, plutôt qu'au niveau des caractères. Cela veut dire qu'un code très carré sera beaucoup plus facile à travailler au corps. En utilisant systématiquement les mêmes espacements, les mêmes positions, les mêmes majuscules, en utilisant des noms de variables un peu plus long pour augmenter ses chances d'être uniques dans le fichier, en alignant un paramètre de fonction par ligne pour pouvoir supprimer un paramètre d'une seule touche, l'on gagne un temps non négligeable.

Améliorer, et s'améliorer
L'on peut devenir raisonnablement efficace avec Emacs en un temps très court via quelques commandes de base. Mais c'est à ce moment qu'il faut chercher plus loin, avoir moins de patience pour les tâches répétitives, et chercher le bon raccourci, ou écrire un petit script qui fera gagner un temps fou sur le long terme. Par exemple, passer du .h au .cpp avec une touche: la fonctionnalité existait dans une extension de Visual Studio, et je l'avais trouvée particulièrement efficace. Quelques recherches plus tard, je trouvais un équivalent pour Emacs, qu'il m'a suffi d'adapter. Mon script me suit maintenant partout!

Prochaine partie: les commandes de base.

Aucun commentaire: