Być dobrym rzemieślnikiem cz. 1
Tym postem chciałbym rozpocząć cykl artykułów dotyczących narzędzi dobrego programisty w VBA. Każdy rzemieślnik rozpoczyna swoje terminowanie wyposażony w pewien zestaw narzędzi, które z czasem coraz lepiej przystosowuje do swoich potrzeb i stylu pracy, dzięki czemu stają się one przedłużeniem jego umysłu. Dobre narzędzia zwielokrotniają nasze zdolności i wydajność. Bądźmy jednak szczerzy, my programiści VBA nie jesteśmy rozpieszczani przez Microsoft. Z jednej strony dostaliśmy jedno z lepszych środowisk do debugowania błędów, z drugiej zaś funkcjonalności wbudowanego w Office edytora dawno pozostały w tyle za współczesnymi IDE. Chcesz programować w VBA? -zapomnij o wyszukiwaniu/zamianie przy pomocy wyrażeń regularnych, code foldingu, schematach kolorowania, tworzeniu własnych snippetsów, czy chociażby numerowanie linii. Jak więc poprawić ergonomię naszej pracy?
Na poprawę wydajności pracy składa się bardzo wiele czynników. Zacznijmy od tych podstawowych. Doboru czcionki oraz schematu kolorowania.
Czcionka dla programisty
Niedawno znalazłem ciekawy wpis, za którym pozwolę sobie wyszczególnić wymagania jakie powinna spełniać dobra czcionka dla programisty:
- Czytelność kodu zależy m.in. od właściwych wcięć. Tak więc programista musi używać czcionki nieproporcjonalnej (ang: monospaced), gdzie każdy znak ma tę samą szerokość.
- VBA nie wymusza deklarowania zmiennych, a to oznacza, że dobra czcionka musi zapewniać maksymalną odróżnialność podobnych znaków, takich jak
Il1,Oi0oraz cudzysłowów. - Czcionka musi posidać czytelne whitespace'y i znaki interpunkcyjne.
- Ergonomia - wygląd kodu nie może powodować zmęczenia po paru godzinach pracy.
- Co ważne dla nas Polaków, czcionka obsługiwać polskie znaki diakrytyczne (w końcu czasami piszemy komentarze:).
- W końcu last, but not least programista powinien lubić swoją czcionkę.
Biorąc pod uwagę to ostatnie, trzeba sobie wyraźnie powiedzieć -- nie ma jednej dobrej czcionki. Jedno jest natomiast pewne -- każda jest czytelniejsza od Couriera New! Na tej stronie znajdziecie przegląd czcionek monospaced. Myślę, że każdy znajdzie coś dla siebie.
Ja, jak każdy programista, bardzo długo używałem Couriera, który nie powala jednak ergonomią -- właściwie nie nie spełnia prawie żadnego z powyższych wymagań. Wraz z nowym Visual Studio (i Vistą) pojawiło się Consolas. Niestety, moim zdaniem czcionka ta w 8-10px pod XP, wygląda tragicznie i nieczytelnie. Dlatego od paru miesięcy używam AndaleMono, którą bardzo sobie chwalę. Nie jest dostarczana wprawdzie z Windowsem, ale można ją bardzo łatwo ściągnąć z sieci.
Białe na czarnym, czy czarne na białym
Większość developerów używa standardowego schematu kolorowania składni. Rzeczywiście czarne litery na białym tle wydają się być jedną z czytelniejszych kombinacji. Badania pokazują jednak, że równie czytelne są również kontrastowe rozwiązania na tle czarnym (np. żółte na czarnym). Choć wybór schematu kolorowania w dużym stopniu zależy od własnych upodobań, to jednak zauważyłem, że w dłuższej pracy z edytorem jasne, konstrastowe litery na czarnym tle mniej męczą oko, szczególnie przy sztucznym świetle. Od zawsze za szczyt czytelności uważałem schemat kolorowania Blackboard z Textmate. Wzorowałem się na nim budująć własny schemat kolorowania w edytorze VBA. Niestety nie potrafię go wyeksportować (może po prostu się nie da;), więc poniżej zamieściłem jego opis i przykład wykorzystania. Może komuś się przyda:
- Font: Andale Mono, 9pt
- Normal Text: Foreground: White, Background: Black
- Comment: Foreground: Grey, Background: Black
- Keyword: Foreground: Yellow, Background: Black
- Breakpoint: Foreground: Red, Background: White

