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:
private IEnumerable<SELove> StackExchangeRocks()
{
var howILoveSEWebsites = new []
{
new SELove { SiteName = "Stack Overflow", MyReputation = 5269, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Programmers", MyReputation = 16937, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Super User", MyReputation = 650, MyRating = Rating.QuiteGood, },
new SELove { SiteName = "Server Fault", MyReputation = 489, MyRating = Rating.Good, },
// Initialize other websites here.
};
return howILoveSEWebsites.OrderByDescending(c => c.MyRating);
}
private class SELove
{
public string SiteName { get; set; }
public int MyReputation { get; set; }
public Rating MyRating { get; set; }
}
private enum Rating
{
Outstanding,
Good,
QuiteGood,
}
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!