Ich las den Wikipedia-Artikel über Programmierstil und bemerkte etwas in einem Argument gegen vertikal ausgerichteten Code:
Verlassen Sie sich auf Schriften mit gleichem Abstand. Bei der tabellarischen Formatierung wird davon ausgegangen, dass der Editor eine Schriftart mit fester Breite verwendet. Die meisten modernen Code-Editoren unterstützen proportionale Schriftarten, und der Programmierer kann es aus Gründen der Lesbarkeit vorziehen, eine proportionale Schriftart zu verwenden .
Um ehrlich zu sein, ich glaube nicht, dass ich jemals einen Programmierer getroffen habe, der eine proportionale Schriftart bevorzugt. Ich kann mir auch keine wirklich guten Gründe für ihre Verwendung vorstellen. Warum sollte jemand eine proportionale Schrift bevorzugen?
quelle
[citation needed]
:)Antworten:
Gemeinsame Punkte gegen proportionale Schriftarten, kommentiert.
Weist auf proportionale Schriftarten hin
m
im selben Raum wie einen
oderi
mehrere überfüllen müssen .rnW
undIll
in diesem Proggy Clear-Screenshot ein Beispiel für einen falsch ausgeführten Schriftabstand.Ich persönlich habe sowohl die Ubuntu-Schrift als auch WenQuanYi Zen Hei Mono mit Vergnügen verwendet und bin nicht in der Lage, die eine der anderen vorzuziehen. :)
Ubuntu 10 und WenQuanYi Zen Hei Mono 9 im Vergleich. Es gibt hier keinen klaren Gewinner, wenn Sie mich fragen.
Das heißt, Schriften sind wie Essen. Manche mögen sie gut gerundet, andere mögen sie scharf und scharf - es gibt keine richtige Schriftart, oder wir alle würden sie jetzt verwenden. Yay für Wahl!
quelle
Es gibt einen Grund, der es praktisch unmöglich macht, andere Schriften als Monospace für die Codierung zu verwenden, der jedoch in anderen Antworten nicht erwähnt wurde: rechteckige Auswahlen .
Diese Funktion, die beim Arbeiten mit normalem Text oftmals nicht sehr nützlich und wenig bekannt ist, ist für Entwickler von entscheidender Bedeutung. Sie können sich eine Vielzahl von Szenarien vorstellen: Entfernen von
//
Kommentaren in mehreren Zeilen, Hinzufügen von Klammern oder anderen Zeichen usw. Dies ist umso wertvoller, als die erweiterte Unterstützung von rechteckigen Auswahlen wie in Visual Studio 2010, in dem Sie nicht nur Text auswählen und entfernen können. aber auswählen und ersetzen.Nehmen wir ein Beispiel:
In diesem Legacy-Code möchte ich die In-Code-Bewertung durch eine Methode ersetzen, mit der meine Bewertung von Stack Exchange-Websites selbst geladen wird, da immer aktuelle Daten verfügbar sind. Ich habe begonnen, die
MyReputation
Eigenschaft umzugestalten , und jetzt möchte ich die Initialisierung im Bereich entfernen. Stellen Sie sich vor, ich habe nicht vier, sondern alle 84 SE-Websites.Folgendes passiert bei der Verwendung von Consolas , einer Monospace-Schriftart. Ich drücke die Rücktaste, und das ist alles, ich kann die verbleibende Zeit damit verbringen, etwas wirklich Nützliches zu tun.
Und hier das Gleiche mit Segoe UI . Autsch!
quelle
CTRL-D
in SublimeText und VSCodeALT-J
in IntelliJ / JetBrains-Editoren verwenden. Als nächstesSHIFT-CTRL-RIGHT ARROW
erweitern Sie die Auswahl auf das nächste Token auf der rechten Seite und fertig. Der Hauptvorteil ist, dass niemand Dinge zum Bearbeiten ausrichten muss. Nachteil, wenn Sie etwas ausgerichtet haben, wird es nicht mehr sein.Früher habe ich eine proportionale Schriftart verwendet, vor allem, weil ich finde, dass die Zeichensetzung eigentlich einfacher zu unterscheiden ist, aber mit der Zeit habe ich aufgegeben, weil es niemand anderes tut und jeder unbewusst von Schriften mit einem mono-Abstand ausgeht (wie der Wikipedia-Artikel erwähnt und versucht, tabellarisch zu arbeiten) Formatierung, ASCII-Kunst in Kommentaren usw.).
Außerdem machen Probleme in Visual Studio , die Microsoft nicht beheben möchte, die Verwendung gut gestalteter proportionaler Schriftarten ohnehin unmöglich.
quelle
Persönlich ist mir das egal. Solange Sie meine Tabulatoren ausgerichtet und die Schrift lesbar halten, ist es mir egal, ob ich Monospace, Proportional oder einen anderen Abstand von der Wand verwende. Beginnen Sie einfach nicht damit, meine Tabulatoren durch Leerzeichen zu ersetzen, und Sie haben keinen Streit mit mir.
quelle
Ich verwende eine proportionale Schriftart (Arial ist die beste, die ich bisher gefunden habe, Verdana ist die zweitbeste) und ehrlich gesagt bin ich immer noch amüsiert, dass die Leute Schriftarten mit fester Breite verwenden. warum sollten Sie die Lesbarkeit so opfern wollen? Ich könnte verstehen, ob die Formatierung von Tabellen wünschenswert wäre, aber das ist es nicht, da dies unabhängig von der Schriftart einen Alptraum für die Wartung darstellt.
quelle
Ich erinnere mich, dass in Bjarne Stroustrups Buch The C ++ Programming Language Schriften mit angemessenem Abstand für den Code verwendet wurden. (Ich kann keine Beispielseiten im Web finden.)
Ich erinnere mich nicht an die genauen Gründe, aber ich denke, er erwähnte diese und eine andere Änderung (ich denke die C ++ - Sprache selbst) als eine neue Einführung in dieses Buch.
Persönlich bevorzuge ich feste Räume. Consolas ist mein Favorit.
quelle
Für Sprachen mit kurzen Linien und viel Freiraum bevorzuge ich monospaced Schriftarten. Ich finde, dass Schriftarten mit variabler Breite die Lesbarkeit verbessern können, wenn Sie lange Zeilen und eine dichte Syntax haben.
Das Problem bei den meisten proportionalen Schriftarten ist, dass sie nicht für die Programmierung entwickelt wurden. Diese Seite zeigt einige Schriften, die waren.
quelle
Smalltalk-Umgebungen wie Pharo verwenden proportionale Schriftarten und aufgrund des Sprachstils sieht es dort sehr gut aus. Aber in C-Sprachen wie Go oder anderen wie Erlang oder Python bevorzuge ich monospaced Schriftarten.
quelle
Vor einiger Zeit habe ich eine gute, lesbare Schriftart für Eclipse gefunden und unter XP habe ich Verdana für einige Zeit verwendet. Consolas hat das entschieden, weil es wirklich hervorragend für die Programmierung ist.
Das sind meine Erkenntnisse:
Daher fand ich, dass es die Mühe für mich nicht wert war.
Hinweis zur Ausrichtung und zu anderen Layouts: Ich habe Eclipse so eingestellt, dass jede Datei bei jedem Speichern automatisch formatiert wird, sodass alle ausgefallenen Layouts automatisch zurückgesetzt werden. Eclipse verwendet Tabulatoren anstelle mehrerer Leerzeichen, die auch bei proportionalen Schriftarten korrekt positioniert werden können. Daher Formatierer Layouts können übereinander, aber wir verwenden , um die Standard - Formatierungskonfiguration , die nicht hat.
Ich glaube, dass die Durchsetzung der automatischen Formatierung für alle Benutzer bei jedem Speichervorgang die Fehlalarme im Quellcodeverwaltungssystem minimiert, wenn forensische Analysen durchgeführt werden.
quelle
Niemals, niemals, weil ich mit Monospaced-Schriftarten verschiedene Attribute vergleichen kann.
Vergleichen Sie:
name1 = ["William", "Shakespear", 1564, "Peotry"]
name2 = ["John", "Locke", 1632, "Philosophie"]
name3 = ["Jonathan", "Littell", 1967, "Prosa"]
Zu:
Die proportionalen Schriftarten können keine äquivalenten Attribute genau übereinander platzieren.
quelle
Obwohl ich der Meinung bin, dass proportionale Schriften hübscher sind, ist es bei einigen von ihnen, insbesondere bei serifenlosen Schriften, unmöglich, den Unterschied zwischen einem "I" und einem "L" zu erkennen. Warten Sie, wie habe ich diese Variable noch einmal benannt?
quelle
'' vs "