Czytałem artykuł na Wikipedii o stylu programowania i zauważyłem coś w sporze przeciwko wyrównanemu pionowo kodowi:
Poleganie na czcionce o jednolitym odstępie; formatowanie tabelaryczne zakłada, że edytor używa czcionki o stałej szerokości. Większość współczesnych edytorów kodu obsługuje czcionki proporcjonalne, a programista może preferować użycie czcionki proporcjonalnej dla zapewnienia czytelności .
Szczerze mówiąc, chyba nie spotkałem programisty, który wolałby czcionkę proporcjonalną. Nie mogę też wymyślić żadnych naprawdę dobrych powodów, aby z nich korzystać. Dlaczego ktoś miałby preferować czcionkę proporcjonalną?
ide
coding-style
fonts
Jason Baker
źródło
źródło
[citation needed]
:)Odpowiedzi:
Skomentowano wspólne punkty w stosunku do czcionek proporcjonalnych.
Wskazuje na proporcjonalne czcionki
m
w tej samej przestrzenin
lubi
sprawia, że zaprojektowanie dobrej, czytelnej czcionki o stałej szerokości jest naprawdę trudne .rnW
iIll
na tym zrzucie ekranu Proggy Clear, na którym źle rozmieszczono czcionki.Osobiście korzystam zarówno z czcionki „Ubuntu”, jak i WenQuanYi Zen Hei Mono z przyjemnością i nie jestem w stanie preferować jednej z nich. :)
Porównanie Ubuntu 10 i WenQuanYi Zen Hei Mono 9. Nie ma tutaj wyraźnego zwycięzcy, jeśli mnie o to poprosisz.
To powiedziawszy, czcionki są jak jedzenie. Niektórzy lubią je dobrze zaokrąglone, inni lubią ostre i pikantne - nie ma jednej właściwej czcionki, albo wszyscy byśmy jej teraz używali. Tak do wyboru!
źródło
Istnieje powód, który praktycznie uniemożliwia użycie czcionek innych niż monospace do kodowania, ale nie został wspomniany w innych odpowiedziach: zaznaczenia prostokątne .
Ta funkcja, często niezbyt przydatna i mało znana podczas pracy ze zwykłym tekstem, jest niezbędna dla programistów. Możesz sobie wyobrazić wiele scenariuszy: usuwanie
//
komentarzy do kilku wierszy, dodawanie nawiasów lub innych znaków itp. Jest to nawet bardziej wartościowe dzięki zaawansowanemu wsparciu zaznaczania prostokątnego, tak jak w Visual Studio 2010, w którym możesz nie tylko zaznaczać i usuwać tekst, ale wybierz i zamień go.Weźmy przykład:
W tym starszym kodzie chcę zastąpić ocenę w kodzie metodą, która załaduje moją ocenę z samych stron Stack Exchange, mając zawsze dostęp do aktualnych danych. Zacząłem refaktoryzować
MyReputation
właściwość, a teraz chcę usunąć inicjalizację w zakresie. Wyobraź sobie, że nie mam czterech, ale wszystkie 84 strony internetowe SE.Oto, co się stanie, gdy użyjesz jednolitej czcionki Consolas . Naciskam Backspace i to wszystko, mogę poświęcić pozostały czas na zrobienie czegoś naprawdę przydatnego.
I to samo z Segoe UI . Ojej!
źródło
CTRL-D
w SublimeText i VSCode,ALT-J
w edytorach IntelliJ / JetBrains. Następnie,SHIFT-CTRL-RIGHT ARROW
aby rozszerzyć zaznaczenie do następnego tokena po prawej stronie i gotowe. Główną zaletą jest to, że nikt nie musi wyrównywać elementów do edycji. Wada, jeśli coś jest wyrównane, już nie będzie.Kiedyś używałem proporcjonalnej czcionki, głównie dlatego, że uważam, że interpunkcja jest w rzeczywistości łatwiejsza do rozróżnienia, ale z czasem zrezygnowałem, ponieważ nikt inny tego nie robi i wszyscy nieświadomie zakładają czcionki z odstępami mono (jak wspomina artykuł w Wikipedii, próbując zrobić tabelę formatowanie, grafika ascii w komentarzach i tak dalej).
Ponadto problemy w Visual Studio , których Microsoft nie chce naprawiać, w zasadzie uniemożliwiają użycie dobrze zaprojektowanych proporcjonalnych czcionek.
źródło
Osobiście mnie to nie obchodzi. Tak długo, jak trzymasz moje zakładki w jednej linii, a czcionka czytelna, nie przejmuję się tym, czy używam monospace, proporcjonalności, czy innych odstępów od ściany. Po prostu nie zaczynaj zastępować moich zakładek spacjami, a nie będziesz się ze mną kłócił.
źródło
Używam czcionki proporcjonalnej (Arial jest najlepszym, jaki do tej pory znalazłem, Verdana jest drugą wiceministką) i szczerze mówiąc, wciąż jestem zaskoczony, że ludzie używają czcionek o stałej szerokości; dlaczego miałbyś chcieć poświęcić taką czytelność? Mogłem zrozumieć, czy formatowanie tabelaryczne jest pożądane, ale tak nie jest, ponieważ tworzy koszmar konserwacji bez względu na czcionkę.
źródło
Pamiętam, że w książce Bjarne Stroustrup The C ++ Programming Language użyto w kodzie czcionek o rozstawie propotianitycznym. (Nie mogę znaleźć żadnych przykładowych stron w Internecie)
Nie pamiętam dokładnych powodów, ale myślę, że wymienił to i jedną inną zmianę (myślę, że sam język C ++) jako nowe wprowadzenie do tej książki.
Osobiście wolę te o stałej przestrzeni. Consolas jest moim ulubionym.
źródło
W przypadku języków, które mają krótkie linie i dużo otwartej przestrzeni, wolę czcionki o stałej szerokości. Uważam, że czcionki o zmiennej szerokości mogą poprawić czytelność w przypadku długich linii i gęstej składni.
Problem z większością proporcjonalnych czcionek polega na tym, że nie zostały one zaprojektowane do programowania. Ta strona pokazuje niektóre czcionki, które były.
źródło
Środowiska Smalltalk, takie jak Pharo, używają czcionek proporcjonalnych, a ze względu na styl języka wygląda tam bardzo dobrze. Ale w językach w stylu C, takich jak Go lub innych, takich jak Erlang lub Python, wolę czcionki o stałej szerokości.
źródło
Spędziłem trochę czasu, szukając dobrej, czytelnej czcionki dla Eclipse, a pod XP korzystałem z Verdana przez dłuższy czas. Consolas postanowił to, ponieważ jest naprawdę znakomity do programowania.
Oto moje ustalenia:
Dlatego odkryłem, że nie było to dla mnie warte kłopotu.
Uwaga na temat wyrównania i innych układów: Ustawiłem Eclipse na automatyczne formatowanie każdego pliku przy każdym zapisie, więc wszystkie fantazyjne układy są automatycznie resetowane. Eclipse używa tabulatorów zamiast wielu spacji, które mogą być poprawnie ustawione nawet w przypadku czcionek proporcjonalnych. W związku z tym układy formatyzatora mogą się nakładać na siebie, ale używamy standardowej konfiguracji formatera, która tego nie ma.
Uważam, że wymuszenie automatycznego formatowania dla każdego przy każdym zapisie minimalizuje fałszywe alarmy w systemie kontroli źródła podczas analizy sądowej.
źródło
Nigdy, ponieważ czcionki Monospaced pozwalają mi porównywać różne atrybuty.
Porównać:
name1 = [„William”, „Shakespear”, 1564, „Peotry”]
name2 = [„John”, „Locke”, 1632, „Philosophy”]
name3 = [„Jonathan”, „Littell”, 1967, „Proza”]
Do:
Czcionki proporcjonalne po prostu nie mogą umieszczać równoważnych atrybutów dokładnie jeden nad drugim.
źródło
Chociaż wydaje mi się, że czcionki proporcjonalne są ładniejsze, w niektórych z nich, zwłaszcza czcionek bezszeryfowych, nie można dostrzec różnicy między „I” a „l”. Zaraz, jak nazwałam tę zmienną ponownie?
źródło
'' vs "