Jeśli pracujesz w większym zespole i jesteś programistą albo nad szablonami HTML pracuje więcej niż jedna osoba, prawdopodobnie często stajesz przed problemem zasygnalizowania, że trzeba zmienić coś, co nie leży w twoich kompetencjach albo najzwyczajniej w świecie nie masz na to czasu.
Popularnym rozwiązaniem jest zwykły komentarz w stylu C/C++, który ma przypominać o konieczności naniesienia poprawek przed oddaniem serwisu klientowi. Czy poniższy kod wygląda znajomo?
<!-- #FIXME: IE needs special treating here, padding is wrong -->
Zaletą jest możliwość łatwego wychwycenia wszystkich pozostałych problemów za pomocą zwykłego wywołania polecenia grep
na katalogu z szablonami. Problem pojawia się w sytuacji, kiedy o kometarzach zapomnisz i, spiesząc się z oddaniem serwisu, pozostawisz je bez zmian. Pomijając fakt kompromitacji przed ludźmi oglądającymi twój kod (z premedytacją nie usunąłeś usterki, o której musiałeś przecież wiedzieć), istnieje ryzyko, że część użytkowników będzie miała problemy z poruszaniem się po witrynie (w końcu coś nie zostało poprawione).
Rozwiązanie? Semantycznie opisać takie miejsca za pomocą tagów <fixme>
. Przykład?
<p>Lorem ipsum baby <fixme>wymusić na kliencie podesłanie tekstu powitalnego</fixme>.</p>
Dobrze byłoby też, żeby rzeczy do zrobienia wyróżniały się jakoś w tekście, w tym celu deklarujemy dwie dodatkowe regułki w CSS:
fixme { font-weight: normal; } fixme:before { content: "#FIXME: "; font-weight: bold; }
Efekt wygląda tak:
Lorem ipsum baby #FIXME: wymusić na kliencie podesłanie tekstu powitalnego.
Pewnie zastanawiasz się teraz, co na to powie validator? Oczywiście zaprotestuje, że nic nie wie o istnieniu elementu fixme
. Nic dziwnego, bo wymyśliłem go dziś rano. W protestach validatora leży cały urok naszego nowego elementu - praktycznie każdy serwis zanim trafi do klienta, poddawany jest testom walidacyjnym. Już nigdy nie złapiesz się za głowę oglądając własny kod źródłowy i znajdując tam tuzin porzuconych i zapomnianych komentarzy.