19 08 2010

Każde dzieło musi się uleżeć

Podstawową wskazówką dla każdego pisarza jest to, że powieść musi swoje odleżeć. Dopiero po pewnym czasie należy przeczytać jeszcze raz dzieło, nanieść poprawki i przekazać je do wydawnictwa. Z projektowaniem stron internetowych jest podobnie.

kategoria: Tworzenie stron internetowych autor: Michał Juszczak

Jest pomysł – piszemy!

Działając na rynku i tworząc strony internetowe nie podpisywałem się na nich, nie podawałem stron autora; nie miałem własnej strony do której mogłem się odnieść. W końcu postanowiłem stworzyć stronę i umieścić na niej swoje dane by "wyjść do klienta".

Na początku czerwca powstała strona juszczak.org; jednakże czegoś na niej brakowało. Chciałem podzielić się swoim doświadczeniem, a także oczekiwałem na jakąkolwiek krytykę ze strony doświadczonych programistów. Strona główna miała na celu być "wizytówką", więc wybór był oczywisty. Napisałem bloga.

Pisanie powieści jest jak wino

Im dłużej leży w szufladzie, im rzadziej je smakujemy i poprawiamy tym lepsze. Każdy doświadczony pisarz przekazuje nowicjuszom, by napisaną powieść odłożyli na jakiś czas do szuflady i po kilku miesiącach przeczytali ją ponownie i poprawili. Jeśli nie znajdzie się nic do poprawy można uważać się za geniusza (prawdopodobieństwo mniejsze niż trafienie przez słońce w nocy), albo odłożyć pisanie na wieki. Dlaczego właśnie tak?

Zaczynając pisać powieść jesteśmy pełni entuzjazmu, mamy bohatera, świat i  przygody o których nikt wcześniej nie pisał. Nasze dzieło jest genialne! Dzięki entuzjazmowi nie zauważamy podstawowych błędów, niespójności w treści. Nie tylko nasze dzieło jest genialne, My jesteśmy genialni. Dzieło skończone; część osób szuka wydawcy, publikuje w Internecie czy też daje komuś do przeczytania. I tutaj otrzymuje cios za ciosem – wytykane błędy lub co gorsza naśmiewanie; entuzjazm opada i może nawet odchodzi ochota do czytania czegokolwiek. Może się zdarzyć, że zostanie przylepiona łatka o jakości naszej pracy. Duch pracy umiera.

A można inaczej. Po napisaniu powieści schować ją głęboko i nie czytać przez kilka miesięcy, zapomnieć o niej. Po tym czasie wziąć rękodzieło i przeczytać ponownie. Po przerażeniu się ile błędów się zrobiło poprawić je. Nie ma już entuzjazmu i  na wszystko patrzymy krytycznie. A jeśli w międzyczasie doświadczenie urosło, dzieło może wylądować w koszu.

Programowanie

Piszesz w PHP lub JS. Jesteś podniecony wspaniałością swoich nowatorskich rozwiązań. Wspaniałe klasy, piękna baza danych. Praktycznie czekać, aż po opublikowaniu zadzwonią do Ciebie z ZEND'a czy innej firmy oferując współpracę. Spokojnie, niech to się uleży. Wracamy do projektu po kilku miesiącach, przeglądamy i co? Pierwsze pytanie: "Co autor miał na myśli?" i nie zdarza się to wyłącznie początkującym programistom, ale również doświadczonym. Ile razy poprawialiście swój kod, który odświeżyliście po jakimś czasie? Sam wykonywałem to wielokrotnie.

Projekt strony internetowej

Co do tworzenia wyglądu strony internetowej sytuacja się powtarza. Pełen zapału i chęci budujesz, tworzysz, dodajesz grafiki, kolory, tabelki itp. Wszystko wygląda pięknie. Niech to również się uleży! Spójrz na swoje projekty sprzed pół roku, roku a nawet dwóch. Co o nich powiesz? A wystarczy poczekać po stworzeniu szablonu tydzień i  spojrzeć krytycznym okiem na to co zrobiłeś. Jeżeli czas nagli, daj komuś do sprawdzenia. Ale nie tylko programistom (oni będą się zachwycać pięknem kodu), nie tylko grafikom (oni będą się zachwycać pięknem kolorystyki), ale głównie zwykłemu szaremu człowiekowi. Osobie z rodziny, mamie, tacie, babci. Niech to będą osoby które nie znają się na komputerach, zobacz czy umieją się poruszać po stronie.

Czytaj, czytaj, czytaj – ulepsz swój warsztat

Będąc pisarzem czytaj inne dzieła, zapoznaj się z innym sposobem pisania, historiami i bohaterami. Może coś zlepisz i wyjdzie bestseller. Będąc programistą czytaj inny kod, zapoznaj się z innym sposobem pisania, klasami i strukturami. Może coś zlepisz i wyjdzie najlepsza biblioteka.

Są standardy i możemy je naciągać

W literaturze, jeżeli korzystalibyśmy ze standardów, każda książka miałaby podobną budowę. Oczywiście są takie standardy jak akapity, wcięcia czy też dla danego regionu świata – używanie odpowiedniego zestawu znaków. Ale inne są już naciągane. Mamy paragrafówki, książki bez rozdziałów, dwa rozdziały na każdą książkę, rozdział na 2 kartki, różne wielkości marginesów, ilość słów na linię itp. Różnic w budowie jest wiele. Co do treści tutaj panuje dowolność; jedyną zasadą jest czytelność i zrozumiałość. Nie popadaj w dekadencję i nie twórz wierszy programistycznych czy innych dzieł które mają zachwycić innego artystę tworzącego programy.

Dlatego też nie popieram ścisłego trzymania się standardów i mód w pisaniu aplikacji. Kod ma być czytelny, zrozumiały i łatwy w przyswojeniu. Był czas w programowaniu w PHP gdy wszyscy tworzyli Front Controllery które uruchamiały poszczególne funkcje. Był czas, gdy modne stało się pisanie obiektowe, potem przyszła moda na MVC (różne wersje) oraz na IoC. Pozostaje czekać co nowego się pojawi. Czy to, że nie podążasz zgodnie z modą wyklucza Cię z szeregu programistów? Czy jeżeli modna jest fantastyka w stylu Władcy Pierścieni, wyklucza Cię z szeregu pisarzy, jeżeli piszesz fantastykę o czasach prehistorycznych?

Moje dzieła się uleżały i ...

Nie podobały mi się, mimo iż je umieściłem w Internecie. Drukowanie, odbiór w innych przeglądarkach, no i wygląd. Wprowadzam poprawki na głównej, później zabieram się za bloga. Każda strona którą projektuję ma okres leżenia około 2 tygodni. Plus przeglądanie przez kilka osób nie związanych z tworzeniem stron internetowych. Jest to za mało. Ale jak wiadomo terminy, terminy, terminy. Aktualnie zaczynam pracę (po wstępnej analizie) od zaprojektowania i akceptacji wyglądu; później on leży i czeka na oprogramowanie strony. Wyniki prezentowane bez CSS itp. – wiem od razu jak to będzie wyglądać w trybie czysto tekstowym. Potem biorę się za inny projekt graficzny, który musi swoje odleżeć a ja wracam do poprzedniego. Ale aktualnie poprawiam strony, dlatego nowy wpis może się opóźnić, podobnie jak ten.

Niniejszy artykuł nie odleżał swojego, dlatego może być chaotyczny, niezrozumiały i trudny w odbiorze. Ale sprawdzony pod względem ortografii.

Dodaj komentarz:

Komentarze podlegają moderacji, nie dopuszczam komentarzy spamujących, z wyzwiskami, wulgaryzmami, oszczerstwami. Rozumiem przez to również nie akceptowanie komentarzy, których treść jest prawnie zabroniona. Pozostałe komentarze, nawet takie które będą sprzeczne z moimi poglądami są akceptowane. Należy czekać na akceptację, każdy komentarz zostanie sprawdzony przeze mnie a następnie ukaże się na stronie.

Komentarze:

Ostatnie wiadomości:

Ostatnie komentarze:

  • (2010-10-26) Nie wiem, że metody statyczne są szybsze i nie wiem, skąd bierzesz tak...
    NEWS Tworzenie biblioteki Underscore: Nie wiem, że metody statyczne są szybsze i nie wiem, skąd bierzesz takie rewelacje, bo odkąd pamiętam, zawsze było na odwrót. Nawet przed chwilą zrobiłem szybki benchmark i nic się nie zmieniło w tym względzie. Ponadto z tego, co piszesz (zwłaszcza o krótkości kodu), wydaje mi się, że nie rozumiesz sensu programowania obiektowego. Robienie metod typu wordCount() to głupota do kwadratu - przecież po to się robi obiekty, by te metody pracowały w ich kontekście i wykonywały coś na nich, a nie działały tak sobie w próżni. O wiele lepsze wyniki wydajnościowe osiągniesz dobrymi algorytmami i odpowiednią architekturą, a nie robieniem sobie pseudoobiektowego śmietnika. Ponadto co z takimi kwestiami, jak niezawodność i elastyczność? Zyx (grrrr, mój nick jest trzyliterowy!)
  • (2010-10-26) Niestety, takie rozwiązanie jest wybitnie niepraktyczne. Już to przera...
    NEWS Konfiguracja klas i obiektów - metoda settings: Niestety, takie rozwiązanie jest wybitnie niepraktyczne. Już to przerabiałem spory kawałek czasu temu przy okazji tworzenia Open Power Libs 2.0 i do dziś odbija mi się to czkawką. Po pierwsze, używasz do tego elementów statycznych, czyli już na wejściu utrudniasz sobie testowanie i wprowadzasz elementy niedeterminizmu, które mogą być źródłem podobnych problemów, jakie powoduje "global". Po drugie, Twoja funkcja do ładowania konfiguracji też jest niepraktyczna, bowiem wymaga uprzedniego załadowania wszystkich możliwych klas nawet, jeśli ich nie używamy, gdyż inaczej oberwiemy wyjątkiem. Dobrym, sprawdzonym rozwiązaniem jest idea wstrzykiwania zależności. PS. Masz u mnie minusa za nałożenie limitu min. 5 znaków na długość nicka, który jest idiotyczny, jako że jest całkiem sporo osób, które mają czteroliterowe nicki, a trzyliterowe takie, jak mój, też się trafiają. Zyx (grrrr, mój nick jest trzyliterowa!!!)

Kategorie:

Tworzenie stron internetowych Blog Zarządzanie jakością Tworzymy bibliotekę Zarządzenie przedsiębiorstwem