Po co używać czcionek o stałej szerokości w swoim IDE? [Zamknięte]


83

Widziałem kilka tematów dotyczących czcionek w SO i wydaje się, że większość ludzi używa czcionek o stałej szerokości do zadań programistycznych. Używam Verdany do programowania od kilku lat i bardzo podoba mi się zwiększona czytelność, nie tracąc nic związanego ze stałą przestrzenią.

Dlaczego używasz czcionki o stałej szerokości?


4
Czy ktoś ma dobre powody, by nie używać czcionek skryptowych? :)
jammus

1
Osobiście lubię używać San Francisco ( lowendmac.com/backnforth/2k0601.html ) do mojego ... :)
John Rudy

Myślę, że Trim idzie nawet dalej niż Verdana w tworzeniu czytelnego kodu. ( code.google.com/p/i3project/wiki/Fonts )
user287424

Przynajmniej nie jestem jedynym heretykiem, który używa Verdany. :)
Calmarius

16
Otwórz to ponownie. Znajomość odpowiedniego narzędzia / techniki do pracy oraz powodów takiego stanu rzeczy jest zdecydowanie warta omówienia.
Thomas Eding

Odpowiedzi:


107

W czcionce o stałej szerokości:

  • Literały ciągów o jednakowej długości wyglądają na równe.
  • Łatwiej jest zobaczyć cienkie znaki interpunkcyjne, takie jak: () {}
  • Podobne postacie wyglądają bardziej inaczej: Il 0O vs Il 0O
  • Wiesz, czy linia zostanie zawinięta w oknie o szerokości X znaków. Oznacza to, że Twój zespół może ustandaryzować na powiedzmy 100 linii znaków, a linia zawsze będzie wyglądać jak linia

31
Drugi i trzeci punkt tak naprawdę nie są specyficzne dla stałej szerokości. Jest to bardziej kwestia tego, której konkretnej czcionki używasz, a nie tego, czy jest to czcionka o stałej szerokości. Verdana radzi sobie dobrze w obu punktach (lepiej niż większość czcionek o stałej szerokości, imo), dlatego ją używam
Rik

8
Aby poprawić każdy z tych problemów: Równoważne struny wyglądają na równe szerokości i zastanawiam się, dlaczego zależy ci na sznurkach, które są różne i mają tylko jedną długość. Non-monowidth nie narzuca, że ​​znaki interpunkcyjne są cienkie; powinieneś użyć innej czcionki innej niż mono. Znaki „podobne” niekoniecznie muszą wyglądać inaczej w przypadku stałej szerokości; Na przykład SimHei ma identyczne O vs 0. Jest to właściwość czcionki, a nie szerokość. Wreszcie, jeśli Twój zespół rzeczywiście ustandaryzuje, możesz wybrać opcję inną niż monofoniczna i ujednolicić opcję „nie pozwól, aby spłynęła z ekranu”.
bwerks

104

Nigdy wcześniej nawet nie rozważałem kodowania czcionką proporcjonalną. Dlatego w interesie nauki po prostu przełączyłem edytor, żeby spróbować.

Oto kilka uwag po ustaleniu kilku łatwych biletów:

  • Kod wydaje się niezwykle gęsty. Większość mojego kodu ma około 80 kolumn, rzadko ponad 100. Czcionki proporcjonalne ściskają go do małego paska po lewej stronie mojego edytora. Może przydatne, jeśli masz mało miejsca na ekranie, ale wydaje się niepotrzebnie kompaktowe.
  • „Tekstura” kodu zostaje utracona. Trudno powiedzieć, na jaką strukturę patrzę - to po prostu duża porcja tekstu, którą trzeba czytać prawie znak po znaku.
  • Jest to bardzo łatwo przegapić !Operatora if (!foo). (jeśli (! foo), zobacz!)
  • Znaki interpunkcyjne są bardzo źle zdefiniowane. Wiele jest trudnych do odróżnienia (w {}[]()porównaniu z {} [] ())
  • Niektóre znaki interpunkcyjne są znacznie większe niż inne, powodując podkreślenie tam, gdzie żaden nie jest przeznaczony (w $@%porównaniu z $ @%)
  • Niektóre znaki są bardzo wąskie i bardzo trudne do zidentyfikowania ( '"!;:,.vs '"!;:,.)
  • Niektóre cyfry i litery są bardzo podobne (w 0Oo iIlporównaniu z 0Oo iIl)
  • Jestem niezwykle zależny od podświetlania składni, bez niego prawie niemożliwe jest wykonywanie takich rzeczy, jak potwierdzenie, że cytaty są zrównoważone itp.
  • Wyrównanie (poza prostym wcięciem) jest całkowicie zepsute. Możesz to trochę zmienić, dodając dodatkowe spacje, ale z powodu proporcjonalnego charakteru czcionek linie mogą nie być dokładnie wyrównane - kod wygląda bardziej niechlujnie .
  • Wyrażenia regularne są ... interesujące!

Jest jednak kilka pozytywnych punktów. Wprawdzie używam go dopiero od jakiegoś czasu, ale z pewnością są pewne aspekty, które działają trochę lepiej z czcionkami proporcjonalnymi:

  • „słowa” są łatwiejsze do odczytania - wyskakują na ciebie błędy ortograficzne (np. niepoprawna pisownia zmiennej).
  • Czuję się lepiej, używając dłuższych, bardziej opisowych nazw zmiennych (może dlatego, że skanują lepiej, może dlatego, że rozmiar tekstu w poziomie jest skompresowany)
  • Taki kod wydaje się nieco łatwiejszy do odczytania . Mojemu mózgowi łatwiej jest „oznaczyć” każde słowo i zrozumieć jego znaczenie. Chociaż, ponieważ znaki interpunkcyjne są trudniejsze do odczytania, nadal jest to trudne - ale może to się zmieni, gdy przyzwyczaisz się do tego trochę czasu

Zaktualizuję tę odpowiedź ponownie jutro (zakładając, że dam radę przez cały taki dzień!)


7
Dobra robota! Zastanawiam się jednak, jakiej czcionki użyłeś, ponieważ większość uwag na temat niektórych postaci wyglądających zbyt podobnie nie przeszkadza mi wcale.
Rik

Zacząłem od Arial, przeniosłem się na Calibri. Wypróbowałem kilka innych, ale te też wydawały się najlepsze na podstawie 20 sekund skrajnie nienaukowego przeglądania mojej listy czcionek i rekomendacji od Konrada Rudolpha.
Dan

6
„Nigdy wcześniej nawet nie rozważałem kodowania czcionką proporcjonalną. Dlatego w interesie nauki po prostu przełączyłem edytor, żeby spróbować”. Ile lat programowałeś i przyzwyczaiłeś się do stałej szerokości? Masz tutaj przyzwoitą odpowiedź, ale nie uwzględniasz własnego uprzedzenia (a byłoby to trudne bez dużo więcej pracy), co nie jest zbyt dobrą nauką.

2
@Roger: To może nie być dobra nauka (przeprowadzenie takiego badania byłoby prawie niemożliwe i bardzo kosztowne!), Ale powody są prawdopodobne. A zepsute wcięcie jest trudnym do pokonania argumentem (w obecnych IDE / edytorach; ten problem można rozwiązać poprzez inteligentne wcięcie za pomocą tabulatorów, które pasują do semantyki).
Konrad Rudolph

5
Proporcjonalna czcionka zaprojektowana specjalnie do programowania rozwiązałaby większość typowych zastrzeżeń. Istnieje kilka proporcjonalnych czcionek do kodowania na code.google.com/p/i3project/wiki/Fonts
user287424

28

Lubię zestawiać powiązane warunki, aby było bardziej oczywiste, że są zgrupowane. Na przykład:

if ((var1 == FOO) && ((var2 == BAR) ||
                      (var2 == FOOBAR)))

Czcionki o zmiennej szerokości sprawiają, że jest to trudniejsze.


2
Ważny punkt. Ale ustawienie rzeczy w pionie ma problem: co, jeśli musisz coś zmienić w tym oświadczeniu if? Prawdopodobnie będziesz musiał ponownie wyrównać wszystkie rzeczy.
Calmarius

9
@Calmarius: „uczynienie go czytelnym” jest częścią mojego całodziennego kodowania, robię to nieświadomie. Jeśli wkładasz wysiłek w zmianę kodu, powinieneś także włożyć wysiłek w zmniejszenie kosztów utrzymania.
Sebastian Mach,

2
Lepszym sposobem na osiągnięcie tego są elastyczne podpórki , nawet jeśli trzymasz się czcionki o stałej szerokości . Nie żeby to była praktyczna alternatywa dla obecnych redaktorów ...
Roman Starkov

1
@endolith Cóż, z pewnością są mądrzejsi niż spacje ... :) Nadal musisz zdecydować, co chcesz dopasować do czego; wielką zaletą jest to, że kiedy już to zrobisz, wszystko pozostanie wyrównane, nawet jeśli inne rzeczy się zmienią.
Roman Starkov

2
@endolith Wstawiłbyś tabulator między dwa nawiasy w pierwszym wierszu i tabulator przed nawiasem otwierającym w drugim wierszu. Teraz dodałoby to trochę dodatkowego odstępu między dwoma nawiasami w linii 1 w implementacji waniliowej, ale dostaniesz wyrównanie, które jest utrzymywane podczas edycji, co wydaje mi się bardzo opłacalnym kompromisem. W rzeczywistości myślę, że dodałbym nawet tabulator po nawiasie zamykającym w obu wierszach. Zobacz zrzut ekranu w całej okazałości czcionki o zmiennej szerokości lub wypróbuj sam .
Roman Starkov

21

Ciągle tu widzę dyskusję na temat „wyrównywania kodu” i wcięć. Chciałbym zwrócić uwagę na następujące rzeczy:

  • osiem spacji będzie zawsze dwa razy dłuższe niż cztery spacje w dowolnej czcionce.
  • dwie zakładki będą zawsze dwa razy dłuższe niż jedna zakładka w dowolnej czcionce.
  • każdy identyfikator w jednym wierszu będzie zawsze miał taką samą szerokość w następnym wierszu… dowolną czcionką!
  • Oczywiście, jeśli twoi koledzy z drużyny używają stałej odległości, a ty nie, będzie to wyglądać inaczej ... ale powinieneś coś ujednolicić - cokolwiek to jest - i jeśli to prawda, to będzie wyglądać tak samo dla wszystkich. ..w DOWOLNEJ czcionce! Dla śmiechu możesz też spróbować utrzymać wszystkich w stałej pozycji i dać połowie z nich panoramiczne monitory ... zobacz, jak to idzie.
  • Jeśli robisz cokolwiek, co polega na ustawianiu kodu w oparciu o kolumnową pozycję tych znaków na ekranie, a nie zakres identyfikatorów, których używasz, zakładam, że to, co robisz, to hack. Identyfikatory nigdy nie powinny być ograniczone do określonej liczby znaków kosztem jakości ich nazw. Poza tym ... nadal nie rysujesz pól ASCII z gwiazdkami w celu umieszczenia komentarzy w swoim kodzie, prawda?

Więc rysując to wszystko razem, jeśli zaczniesz każdy wiersz w tym samym miejscu, a spójne odstępy będą miały tę samą szerokość, a identyfikatory nie zmieniają spontanicznie szerokości w każdym wierszu, wtedy twój kod faktycznie BĘDZIE wyrównany! ... aż coś się zmieni.

na przykład:

identifier.Method().Property.ToString();
identifier.Method().OtherGuy.ToString(); //how lined up and pretty!
identifier.Method().Sumthing.YouGetThePoint;
  • identifier.Method (). Property.ToString ();
  • identifier.Method (). OtherGuy.ToString (); //o nie! źle wyrównany!
  • identifier.Method (). Sumthing.YouGetThePoint; //...ale kogo to obchodzi? mają różne właściwości!

Jedyną kwestią, do której przyznaję, jest to, że znaki niealfanumeryczne zazwyczaj nie są zbyt szerokie; obejmują one) (] [} {,: | "; ',`! i. Można to jednak naprawić w edytorze czcionek ... po prostu rozszerzając je. To nie jest problem nieodłączny od braku stałej szerokości; Nie było na to dużego popytu, więc nie zostało to jeszcze zrobione.

Podsumowując, osobiste preferencje są w porządku, ale myślę, że nie ma praktycznego powodu, aby preferować monospace od non-monospace. Podoba ci się ten wygląd? Jasne, wykonuj monospace. Chcesz, aby więcej rzeczy zmieściło się na ekranie? Nie mono. Ale sposób, w jaki ludzie traktują niemonoprzestrzeń jak herezję, jest nieco przesadzony.


3
Daj +1, by zobaczyć więcej rzeczy na ekranie. A pola ASCII ... ... cóż, są stratą czasu.
Calmarius

2
+1; te punkty są właściwie trudne do zrozumienia, dopóki nie użyje się przez jakiś czas proporcjonalnej czcionki.
Roman Starkov

8
+1 za szerokie zrozumienie, że można tworzyć proporcjonalne czcionki zaprojektowane specjalnie do programowania i nie muszą być one o stałej szerokości. Gdyby czcionki proporcjonalne były bardziej powszechne w programowaniu, mogłaby wyłonić się nowa kultura „programowania typografii”. Inaczej jest z nastawieniem na „herezję”.
Timwi,

3
Robisz szerokie założenia w swoich punktach: 1) wyrównanie musi nastąpić tylko na początku wiersza, 2) wyrównanie podobnych wywołań na wielu liniach będzie zawsze na tym samym "identyfikatorze. Obiekt Method ()", 3) położenie w kolumnie ma coś wspólnego z nazwami identyfikatorów, 4) jedyny przypadek, w którym trzeba by było wyrównywać w komentarzach, dotyczy „pól ASCII z gwiazdkami”. Przepraszam, -1.
Droj

3
Czuję się obrażony nie dlatego, że mnie zlekceważyłeś, ale dlatego, że nie oferujesz ani odrobiny kontrargumentu. Po prostu wyrecytowałeś mi moje uwagi, hah. Ale tak, zgadzam się! Wyrównanie MA znaczenie tylko do momentu, gdy linie się różnią; wyrównanie wywołań metod z różnymi argumentami NIE MA znaczenia, ponieważ nie powinieneś ograniczać długości nazw zmiennych; pozycja kolumnowa INDEED NIE ma nic wspólnego z nazwami identyfikatorów; a jedyny moment, w którym potrzebujesz wyrównania, JEST, gdy oddajesz się sztuce ascii za grosze firmy.
bwerks

16

Zaciekawił mnie ten wątek, ponieważ wiele argumentów za czcionkami o stałej szerokości można naprawdę łatwo obalić za pomocą pewnych poprawek. Więc przerzuciłem IDE na Calibri (ponieważ ma ładną, okrągłą twarz i jest zoptymalizowany pod kątem czytelności na ekranach dla UI - idealne). Teraz oczywiście muszę używać tabulatorów zamiast spacji do wcięć (ignorując wszystkie problemy), a szerokość 4 spacji wyraźnie nie jest wystarczająca, więc przełączyłem się na 10.

Teraz wygląda całkiem nieźle. Jest jednak kilka oczywistych problemów, które mogę zauważyć. Więcej może pojawić się później, po tym, jak przez jakiś czas przetestowałem te ustawienia.

  • Jak już wspomniano, niektóre znaki (zwłaszcza nawiasy, średniki) wyglądają na zbyt cienkie. Chcę to w postaci ciągłego tekstu, ale nie w kodzie źródłowym. Myślę, że to będzie największy problem.
  • Symbole nie są dobrze dopasowane. Jako przykład rozważ następujący kod C #:

    var expr = x => x + 1;
    

    Strzałka ( =>) wygląda jak jednostka w przypadku dowolnej czcionki o stałej szerokości. Wygląda jak dwa sąsiadujące ze sobą znaki w innych czcionkach. To samo dotyczy operatorów takich jak >>itp.

  • Przestrzenie wyglądają na małe. Energicznie rozmieszczam kody źródłowe, aby zwiększyć czytelność. Przychodzi to do niczego przy zmianie na czcionkę proporcjonalną. Gdybym mógł kontrolować szerokość przestrzeni, to zdecydowanie by pomogło.
  • Wcięcia zależne od kontekstu są całkowicie zepsute: w niektórych kontekstach wcięcie określonej liczby zakładek nie wystarczy. Weź wyrażenia LINQ, które mogą być wcięte w następujący sposób:

    var r = from c in "This, apparently, is a test!"
            where !char.IsPunctuation(c)
            select char.ToUpper(c);
    

    Po prostu nie możesz tego zrobić za pomocą proporcjonalnej czcionki.

Podsumowując, postacie są zbyt wąskie. Ponownie, dodatkowe odstępy między literami mogą pomóc i jest to zdecydowanie konieczne w przypadku interpunkcji. Mam jednak wrażenie, że wszystkie te poprawki, aby czcionki proporcjonalne były bardziej czytelne, po prostu emulowałyby naturalnie to, co czcionki o stałej szerokości. Z pewnością dotyczy to wszystkich wspomnianych do tej pory punktów.


1
Właściwie Calibri jest trochę lepszy niż Arial (z którym testowałem), chociaż nadal wykazuje podobne problemy
Dan

1
Wypróbowałem kilka czcionek. Najbardziej prawdopodobnymi kandydatami są Calibri i Lucida Sans Unicode. To nie przypadek, że Lucida Sans Unicode (pod aliasem „Lucida Grande”) jest czcionką interfejsu użytkownika systemu OS X.
Konrad Rudolph

1
Tak, te dwie rzeczy są bardzo podobne. Calibri wygrywa dla mnie, ponieważ ma nieco wyraźniejszą interpunkcję.
Dan

Może to tylko ja, ale zauważyłem, że odstępy Calibri są niesamowicie nieprzewidywalne - niektóre przestrzenie wydają się nie istnieć, a inne wydają się ogromne. Nawet bez względu na programowanie, wyłączyłem go na każdym komputerze, którego używam.
bwerks

@bwerks: co masz na myśli - „wyłączasz” to? Po prostu nie używaj go, jeśli ci się nie podoba. Co więcej, kiedy, poza programowaniem, używasz odstępów? Do formatowania? Nie , to grzech śmiertelny. Co więcej, to, co obserwujesz, może być po prostu efektem złego algorytmu łamania linii Microsoft Word - ponieważ odstępy Calibri są zawsze takie same: spacja ma zawsze tę samą szerokość. W szczególności nie wpływa na to kerning.
Konrad Rudolph

11

Używam programu Comic Sans MS, który wygląda całkiem rozsądnie jako małe rozmiary (zaczyna wyglądać „żartobliwie” przy rozmiarach nagłówka). Nie męczy oczu, ale tekst jest wystarczająco mały, aby w oknie tekstowym była widoczna rozsądna ilość kodu, przy otwartych kilku zadokowanych panelach VS.

Możesz mieć panel Eksplorator rozwiązań i nadal mieć 100 kolumn tekstu czytelnych bez przewijania w poziomie. Co więcej, mogę mieć panel DXCore Documentor (wyświetlający sformatowane pliki XMLDOC) otwarty na tyle szeroko, aby móc go czytać, a jednocześnie nadal widzieć wystarczającą ilość tekstu, aby dokumentować XMLdocs.


4
O stary. Czemu? Bardzo chciałbym usłyszeć twoje uzasadnienie!
Dan

4
Używanie komiksu do wszystkiego :)
Dan,

4
Twoje uzasadnienie brzmi „to małe”? Ze wszystkich funkcji Comic Sans, jego „mały rozmiar” rzadko jest wybierany częściej niż inne czcionki. Poza tym sprawia, że ​​wyglądasz jak 12 lat. Gdybym pracował z tobą, na pewno bym się z tego śmiał :)
Dan

5
Całkowicie makrela - właśnie tego spróbowałem i działa. James prawdopodobnie odkrył jedyną pozostałą przyczynę istnienia Comic Sans - jest on wyraźnie czytelny do 7 pkt. Następnym razem, gdy będę musiał refaktoryzować czyjś bałagan w kodzie za pomocą metod tysiąca wierszy, to jest czcionka, której użyję.
Bevan

7
To bardzo dobrze może być czytelne, ale nadal nie chodziłbym dookoła, przyznając się do tego publicznie :)
patricksweeney

10

Jeśli pracujesz w zespole, czcionki o mono-odstępach zapewniają, że kod jest przejrzysty i prawidłowo ułożony dla wszystkich, niezależnie od czcionki o pojedynczej rozstawie, której wolą używać.

Twój kod może wydawać się przejrzysty, gdy używasz czcionki o zmiennej szerokości, ale jest mało prawdopodobne, aby wyglądał tak samo, jeśli otworzy go użytkownik czcionki z mono-odstępami.


10

Wystarczy kilka godzin, aby dowiedzieć się, dlaczego wyszukiwanie nie znajduje czegoś, ponieważ masz 2 spacje zamiast 1 w dosłownym, aby zdać sobie sprawę, że powinieneś użyć czcionek Monospace. Przydarzyło mi się to raz, kiedy próbowałem naprawić agenta Lotus Notes, gdy projektant nie używał czcionki o stałej szerokości. Dopiero gdy wkleiłem kod do CodeWright, aby go wydrukować, było oczywiste, na czym polega problem.


1
Szerokość spacji jest stała, gdy używa się czcionki proporcjonalnej, prawda?
Calmarius

7
Lub możesz użyć proporcjonalnej czcionki z większą przestrzenią. Samo bycie proporcjonalnym nie powoduje wspomnianego problemu.
Roman Starkov

10

Czcionki o stałej szerokości znacznie ułatwiają wyrównywanie kodu.

Jest to szczególnie ważne podczas pracy z zespołem; każdy w zespole może używać różnych czcionek i jeśli wszystkie są o stałej szerokości, wszystko się ułoży. Podobnie, jeśli jedna osoba używa wielu różnych narzędzi programistycznych, wszystko będzie się zgadzać, jeśli wszystkie są o stałej szerokości. Gdyby nie wszystkie były o stałej szerokości, musiałbyś upewnić się, że wszystkie używają tej samej czcionki, a jeśli tworzysz na dwóch platformach, może to być trudne.

W rzeczywistości niektóre narzędzia programistyczne obsługują tylko czcionki o stałej szerokości.

Innym powodem jest to, że czcionki o stałej szerokości mają zwykle bardziej wyraźne znaki. Porównaj lIiO0 z lIiO0, a zobaczysz, o co mi chodzi. Ułatwiają również liczenie białych znaków.


5
„wszystko się ułoży” - tylko jeśli Twój zespół rozstrzygnął The One Holy War z tabulatorami i spacjami i / lub ma jednolite ustawienie szerokości zakładek.
Roman Starkov

2
Nawet jeśli używasz wcięć tabulatorów, nadal powinieneś używać spacji do wyrównania po wcięciu.
PeterAllenWebb

6

Podejrzewam, że czcionki o stałej szerokości były preferencjami programistów jako przeniesienie z dni opartych na DOS-ie.

Z drugiej strony, ja sam wypróbowałem Verdana i kilka innych zalecanych czcionek proporcjonalnych, ale nie mogłem sobie poradzić ze zmianą. Moje oko jest zbyt dobrze wyszkolone na monospace. Języki obfitujące w symbole, takie jak: C / C ++, C #, Perl itp., Wyglądają dla mnie zbyt różne. Umieszczenie symboli sprawia, że ​​kod wygląda zupełnie inaczej.


Wydaje się, że to jest prawdziwa odpowiedź, myślę też, że ma to głównie podłoże / przyczyny historyczne, a reszta to tylko ograniczenia edytora kodu lub złe czcionki.
Michaił V

6

Z natury kodu, a nie zwykłego języka, ładniej jest mieć go poprawnie ułożonym. Ponadto podczas edycji kodu czasami chcesz zablokować zaznaczanie, kopiowanie i wklejanie bloków. W programie Visual Studio można wybrać blok za pomocą klawisza ALT podczas wybierania myszy. Może być inaczej w różnych edytorach, ale zawsze uważałem, że ta opcja w edytorze jest w niektórych przypadkach bardzo ważna i nie działałaby zbyt dobrze, chyba że używasz czcionki o pojedynczych odstępach.


Teraz jest nowe naciśnięcie klawisza, którego nigdy wcześniej nie znałem. Twoje zdrowie.
Kev

5

Osobiście uważam, że czcionki o pojedynczych odstępach są łatwiejsze do odczytania w edytorach kodu. Oczywiście jestem prawie ślepy. To może mieć znaczenie. Obecnie używam czcionki Consolas w 15 punktach na ciemnym tle z kontrastowymi literami.


Consolas w rzeczywistości jest czcionką o pojedynczych odstępach. W tym bardzo dobry. Ja też tego używam.
Joel Mueller

+1 dla Consolas i Inconsolata na Macu
the_mandrill

@Joe Mueller - nie mam pojęcia, jak to napisałem. Mam na myśli przeciwieństwo tego, co napisałem. Pozwól mi to edytować .... ok. :)
John Kraft

Radziłbym spróbować znaleźć dobrą czcionkę o stałej szerokości, zoptymalizowaną pod kątem kodu i przełączyć się na jasne tło, zanim staniesz się całkowicie ślepy, bez obrazy, po prostu to, co mówi mi moje doświadczenie.
Michaił V

2

Używanie spacji do wcięć byłoby problemem, gdybyś wszedł głębiej niż jeden poziom.


6
Właściwie każde przyzwoite IDE powinno sobie z tym poradzić.
Rik

8
To tylko kolejny powód, aby używać tabulatorów do wcięć (to jest powód, dla którego dobry Pan dał jako tabulatory w pierwszej kolejności)
James Curran

5
+1 za zakładki (teraz gdzie jest ta debata ...)
Bobby Jack

2

Głównie do celów wyrównywania (na przykład, gdy deklaracje parametrów funkcji obejmują wiele wierszy i chcesz je wyrównać, wstawiać komentarze itp.).


1

Myślę, że podobnie jak w przypadku znaków tabulacji, czynnikiem komplikującym jest sytuacja, gdy coś jest wcięte w celu wyrównania, a ktoś inny ma inne preferencje. Rzeczy się nie wyrównują.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.