Je lisais l' article de Wikipédia sur le style de programmation et j'ai remarqué quelque chose dans un argument contre le code aligné verticalement:
Dépendance à la police mono-espacée; Le formatage tabulaire suppose que l'éditeur utilise une police à largeur fixe. La plupart des éditeurs de code modernes prennent en charge les polices proportionnelles, et le programmeur peut préférer utiliser une police proportionnelle pour plus de lisibilité .
Pour être honnête, je ne pense pas avoir jamais rencontré un programmeur qui préférait une police de caractères proportionnelle. Je ne peux pas non plus penser à de très bonnes raisons de les utiliser. Pourquoi quelqu'un préférerait-il une police proportionnelle?
ide
coding-style
fonts
Jason Baker
la source
la source
[citation needed]
:)Réponses:
Points communs contre les polices proportionnelles, commenté.
Points en faveur des polices proportionnelles
m
dans le même espacen
ou un autrei
rend vraiment difficile la conception d'une police monospace lisible et de bonne qualité .rnW
etIll
dans cette capture d' écran Proggy Clear pour un exemple d'espacement des polices mal fait.Personnellement, j'utilise avec plaisir la fonte 'Ubuntu' et le WenQuanYi Zen Hei Mono et je ne peux pas en préférer un à l'autre. :)
Ubuntu 10 et WenQuanYi Zen Hei Mono 9, comparés. Il n'y a pas de gagnant clair ici, si vous me le demandez.
Cela dit, les polices sont comme de la nourriture. Certains les aiment bien arrondis, d'autres les aiment piquants et épicés - il n'y a pas une seule police, ou nous l'utilisons tous maintenant. Yay pour le choix!
la source
Il y a une raison qui rend pratiquement impossible l'utilisation de polices autres que monospace pour le codage, mais cela n'a pas été mentionné dans les autres réponses: les sélections rectangulaires .
Cette fonctionnalité, souvent peu utile et peu connue lorsque vous travaillez avec du texte ordinaire, est essentielle pour les développeurs. Vous pouvez imaginer une multitude de scénarios: supprimer des
//
commentaires sur plusieurs lignes, ajouter des parenthèses ou d’autres caractères, etc. C’est encore plus utile avec la prise en charge avancée des sélections rectangulaires, comme dans Visual Studio 2010, où vous pouvez non seulement sélectionner et supprimer du texte, mais sélectionnez et remplacez-le.Prenons un exemple:
Dans cet ancien code, je souhaite remplacer l'évaluation en code par une méthode qui chargera mon évaluation à partir des sites Web de Stack Exchange eux-mêmes, en pouvant toujours disposer de données à jour. J'ai commencé à refactoriser la
MyReputation
propriété, et maintenant je veux supprimer l'initialisation, dans la portée. Imaginez que je n’ai pas quatre sites, mais l’ensemble des 84 sites Web SE.Voici ce qui se passe lorsque vous utilisez Consolas , une police monospace. J'appuie sur la touche Retour arrière et c'est tout, je peux passer le temps qui reste à faire quelque chose de vraiment utile.
Et voici la même chose avec Segoe UI . Aie!
la source
CTRL-D
de SublimeText et de VSCode,ALT-J
dans les éditeurs IntelliJ / JetBrains. Ensuite,SHIFT-CTRL-RIGHT ARROW
pour élargir la sélection au prochain jeton à droite, c'est fait. Le principal avantage est que personne n’a besoin d’aligner des choses à éditer. Inconvénient, si vous avez quelque chose d’aligné, ce ne sera plus.J'avais l'habitude d'utiliser une police proportionnelle, principalement parce que je trouve que la ponctuation est en fait plus facile à différencier, mais avec le temps, j'ai abandonné parce que personne ne le fait et que tout le monde suppose inconsciemment des polices à simple interligne mise en forme, art ascii dans les commentaires, etc.).
De plus, des problèmes liés à Visual Studio , que Microsoft ne veut pas résoudre, empêchent l'utilisation de polices proportionnelles bien conçues.
la source
Personnellement, je m'en fiche. Tant que vous maintenez mes onglets alignés et la police lisible, je me fiche de savoir si j'utilise un espacement monospace, proportionnel ou autre. Ne commencez pas à substituer des espaces à mes onglets et vous ne vous disputerez pas avec moi.
la source
J'utilise une police proportionnelle (Arial est la meilleure que j'ai trouvée jusqu'à présent, Verdana se classant deuxième) et honnêtement, je suis toujours perplexe que les gens utilisent des polices à largeur fixe; pourquoi voudriez-vous sacrifier la lisibilité comme ça? Je pouvais comprendre si le formatage tabulaire était souhaitable, mais ce n’est pas le cas, car il crée un cauchemar de maintenance, quelle que soit la police utilisée.
la source
Je me souviens du livre Le langage de programmation C ++ de Bjarne Stroustrup , des polices proportionnellement espacées étaient utilisées pour le code. (Je suis incapable de trouver des exemples de pages sur le Web)
Je ne me souviens pas des raisons exactes, mais je pense qu'il en a parlé et que les autres changent (je pense que le langage C ++ lui-même) sont introduits dans ce livre.
Personnellement, je préfère les espaces fixes. Consolas est mon préféré.
la source
Pour les langues comportant des lignes courtes et beaucoup d'espace libre, je préfère les polices à espacement fixe. Je trouve que les polices à largeur variable peuvent améliorer la lisibilité lorsque vous avez des lignes longues et une syntaxe dense.
Le problème avec la plupart des polices proportionnelles est qu'elles n'ont pas été conçues pour la programmation. Cette page montre quelques polices qui étaient.
la source
Les environnements Smalltalk tels que Pharo utilisent des polices proportionnelles et, en raison du style de langue utilisé, ils y semblent très bons. Mais dans les langages de style C comme Go ou d’autres comme Erlang ou Python, je préfère les polices à espacement fixe.
la source
Il ya quelque temps, j’ai trouvé une bonne police lisible pour Eclipse. Sous XP, j’utilisais Verdana depuis un certain temps. Consolas a réglé ce problème car il est vraiment superbe pour la programmation.
Ce sont mes conclusions:
Par conséquent, j'ai trouvé que cela ne valait pas la peine pour moi.
Remarque sur l'alignement et les autres mises en page: J'ai configuré Eclipse pour formater automatiquement chaque fichier à chaque sauvegarde, de sorte que toutes les mises en page sophistiquées soient automatiquement réinitialisées. Eclipse utilise des tabulations au lieu de plusieurs espaces et ceux-ci peuvent être positionnés correctement, même avec des polices proportionnelles. Par conséquent, les dispositions de formatage peuvent être superposées, mais nous utilisons la configuration de formatage standard qui ne l’a pas.
Je pense que l'application de la mise en forme automatique pour tout le monde à chaque sauvegarde minimise les faux positifs dans le système de contrôle de code source, lors de l'analyse judiciaire.
la source
Jamais, jamais, car les polices Monospaced me permettent de comparer différents attributs.
Comparer:
name1 = ["William", "Shakespear", 1564, "Peotry"]
name2 = ["John", "Locke", 1632, "Philosophie"]
name3 = ["Jonathan", "Littell", 1967, "Prose"]
À:
Les polices proportionnelles ne peuvent tout simplement pas placer des attributs équivalents exactement les uns sur les autres.
la source
Bien que j'estime que les polices proportionnelles sont plus jolies, dans certaines d'entre elles, notamment les polices sans empattement, il est impossible de voir la différence entre un "I" et un "l". Attendez, comment ai-je nommé cette variable à nouveau?
la source
'' vs "