GAJDAW


PROGRAMY

1 2 3 4 5 6


Publikowanie kodów programów komputerowych na stronach WWW

Włodzimierz Gajda





2. Czytelność programów komputerowych

W celu zwiększenia czytelności programów komputerowych stosowane są cztery rozwiązania:

Najmniej trudności sprawi w HTML-u wykonanie wcięć. Wystarczy wewnątrz elementu pre użyć wielokrotnych spacji, a otrzymamy ładnie wcięty kod. Pozostałe trzy rozwiązania wymagają dodatkowych znaczników.

Kolorowanie składni realizujemy ujmując poszczególne jednostki leksykalne kodu w dodatkowe znaczniki opatrzone klasą lub zawierające atrybut style. Na przykład kod:

...brak dostępu...

po dodaniu elementów span może wyglądać tak:

...brak dostępu...

lub tak:

...brak dostępu...

Oczywiście korzystając z klas kolorystykę kodu definiujemy w stylach CSS.

W celu dodania numeracji oraz kolorowania co drugiego wiersza konieczne jest wprowadzenie znaczników otaczających wszystkie wiersze listingu. Jednym z rozwiązań może być:

...brak dostępu...

innym, opisanym szczegółowo przez Piotra Petrusa na blogu „Perfection or Vanity” (wpis z dnia 16 czerwca 2006 r.):

...brak dostępu...

Stosując listę ol rezygnujemy z elementu pre. Numery wierszy są generowane automatycznie przez przeglądarkę. Zaś w przypadku użycia elementu span należy w każdej linijce dodać numer wiersza.

Różnica w działaniu rozwiązań ol/li/code/span oraz pre/span/span będzie widoczna po wyłączeniu interpretacji stylów CSS w przeglądarce. Lista ol nawet bez stylów będzie zawierała numerację, zaś element pre będzie numeracji pozbawiony. Wprawdzie automatyczną numerację wewnątrz pre możemy dodać wykorzystując liczniki w CSS (por. specyfikacja CSS, punkt 12.5), jednak rozwiązanie takie nie działa w IE.

Bez względu na to, który wariant wybierzemy, kod HTML będzie istotnie różnił się od oryginalnego programu źródłowego. Przedstawiona wcześniej klasa visitsCounter po dodaniu kolorowania składni oraz numeracji wierszy z wykorzystaniem listy ol przyjmie postać:

...brak dostępu...

Powyższy kod HTML pozwala ładnie wizualnie sformatować wygląd przykładu. Otrzymana witryna będzie estetyczna i czytelna. Jednak zarówno autor jak i czytelnik będą potrzebowali narzędzi, które pozwolą im na kopiowanie kodu pomiędzy środowiskiem programistycznym a stroną WWW. Dla autora konieczne będzie narzędzie, które przekonwertuje kod źródłowy do formatu HTML, zaś czytelnik będzie potrzebował konwersji odwrotnej: z formatu HTML do formatu tekstowego (kopiowanie ze źródła strony będzie uwzględniało wszystkie znaczniki, zaś podczas kopiowania z okna przeglądarki wiersze listingu będą zawierały numery).

Osobnym problemem jest rozmiar generowanego HTML-a. Zamiast dwudziestukilku bajtów class visitsCounter { } otrzymujemy niemal 400! Wzrost rozmiaru kodu jest więc ogromny.




1 2 3 4 5 6