Table des matières
Polices pour développeurs
Être développeur (je n'aime pas le terme «programmeur»), c'est travailler de longues journées sur du code source. Donc c'est fatiguant pour les yeux, et le moindre caractère mal placé provoque une erreur. Nous cherchons à faire le moins d'erreurs possible.
Seulement voilà, encore trop de développeurs utilisent l'horrible, l'abominable police Courrier New.
Avec une mauvaise police, il y a des risques de mauvaise lecture du code, par exemple en confondant:
- 0/O (le chiffre "zéro" et la lettre "O" majuscule)
- 1/l (le chiffre "un" et la lettre "L" minuscule)
- B/8 (la lettre "B" et le chiffre "8")
De plus certaines polices ne facilitent pas la lecture des accolades ou parenthèses correspondantes, ou tout un tas d'autres petits défaut qui alourdissent la lecture du code.
Voici donc une liste de polices recommandées… et à éviter (à titre d'exemple). Bien sûr cette sélection n'est pas exhaustive et tout à fait personnelle, mais j'espère qu'elle pourra aider.
Voici l'échantillon de texte utilisé pour comparer:
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz !@#$%^&*()_+-=,./?<>[]\{}| éèêü~ÉÈÊÜ€ 0O 1l B8 <> [] {} 2N2N2N2N public static int findMin(int[] list) { /* Not Hello, world */ assert list != null && list.length > 0 : "failed precondition"; int indexOfMin = 0; for(int i = 1; i < list.length; i++) { if(list[i] < list[indexOfMin]) { indexOfMin = i; } } return indexOfMin; }
Les MAUVAISES polices
Regardez bien - entre autres - la mauvaise distinction entre 0/O ou 1/l, ce qui peut être à la source d'erreurs. S'il y a vraiment une police à éviter, c'est celle-là.
- Courrier New
Les BONNES polices
On appréciera chez Mononoki et Mensch les signes de comparaison ( < et > ) élargis, rendant le code plus lisible. Mononoki possède également des crochets et accolades qui dépassent visuellement des caractères, ce qui permet de repérer plus rapidement les ouvertures et fermetures. Ainsi que le "B" subtilement différencié du 8.
Mes préférées sont Mononoki et Ubuntu Mono.
- Mononoki (http://madmalik.github.io/mononoki/) (téléchargement direct: mononoki.zip)
- Ubuntu Mono (http://font.ubuntu.com/) (téléchargement direct: ubuntu-font-family-0.83.zip)
- Mensch (https://robey.lag.net/2010/06/21/mensch-font.html) (téléchargement direct: mensch.ttf.zip)
- Droid Sans Mono (https://github.com/android/platform_frameworks_base/tree/master/data/fonts) (téléchargement direct: droid-sans-mono-regular.zip)
- Consolas (fournie avec Windows)
- DejaVu Sans Mono (https://dejavu-fonts.github.io/, livrée avec la plupart des distributions Linux) (téléchargement direct: dejavu-fonts-ttf-2.37.zip)
- InputMono (http://input.fontbureau.com/) (téléchargement direct: input-font.zip)
- à noter que cette police est customisable (vous pouvez par exemple changer le style des accolades ou du 0: Allez dans cette page et cliquez sur «Customize your download»).
- FiraCode (https://github.com/tonsky/FiraCode) (téléchargement direct:: firacode_1.204.zip)
Installer des polices sous Linux
Généralement, il vous suffit de les copier dans le dossier ~/.fonts
et de taper fc-cache -fv
.
Liens
- D'autres polices pour développeur:
- Comprendre les modes de lissage des polices (hinting, anti-aliasing, sub-pixel rendering): http://www.commentcamarche.net/faq/5871-polices-anti-aliasing-hinting-et-sub-pixel-rendering