Sprawa rozchodzi się o to, że kiedy wypuściłem wersję beta i prosiłem o przetestowanie, było cichutko, jak mysz pod miotłą. Przez cały tamten czas bodajże jeden czy dwa raporty napłynęły, a przecież trochę to trwało. Przeświadczony, że widocznie nie ma już nic poważnego, wydałem RC1, co (z obecnego punktu widzenia) było pomyłką. Po prostu wersja beta została z góry na dół olana na zasadzie "o, fajne przykłady, ale to beta, więc nie będę używał", więc mnóstwo problemów zostało zwyczajnie niezauważonych. Dopiero RC1 je ujawniła. Najsmutniejsze jest to, że osoby, które zamawiały u mnie tę, czy inną właściwość, ani trochę nie przyczyniły się do znalezienia w jej implementacji błędów. Tak było np. z obsługą parametru default w instrukcji INCLUDE. Dodałem go na zamówienie, a błąd w kompilatorze generujący uszkodzony kod do jego obsługi wykrył... Czech. W dodatku dopiero kilka dni temu. Jeśli wasz wkład w cały ten projekt ma polegać jedynie na pytaniu się w kółko, kiedy wydam wersję finalną, to ja do powiedzenia mam tyle: z takim podejściem zapomnijcie na najbliższą dekadę. Skoro w grę wchodzi czynnik psychologiczny, także oleję sobie wiarygodne nazewnictwo wersji, bo to przynajmniej gwarantuje wykrycie wszystkich problemów. Chcecie tego?
Dobra, przejdźmy teraz do zmian w samym RC2. Długi czas oczekiwania związany był z przepisywaniem od nowa kompilatora wyrażeń. Teraz jest on znacznie bardziej inteligentny i potrafi samodzielnie wychwytywać nieprawidłowe zastosowanie składni, przynajmniej w zdecydowanej większości przypadków, eliminując tym samym komunikaty "Parse error... in eval'd code". Dołożyłem mnóstwo starań, by go zdebugować: powiększyłem zestaw testów do 44, włączając w to tzw. testy rzeczywiste, czyli sprawdzenie poprawności kompilowania złożonych wyrażeń, które ktoś tam kiedyś już zdołał ułożyć, albo z którymi były dotąd problemy. Pola do popisów użyczył mi także eXtreme. Zezwolił on mianowicie na aktualizację OPT w jego naprawdę złożonym projekcie, gdzie szablony pełne były pięciolinijkowych wyrażeń, wielokrotnie zagnieżdżonych instrukcji itd. Wszystkie wykrywane problemy były natychmiast poprawiane. Naturalnie coś tam się mogło jeszcze wymknąć, ale wtedy po prostu zgłaszasz, ja poprawiam i jest po kłopocie.
Osobno chciałbym podziękować Normanosowi, który przyczynił się do znacznego ulepszenia systemu cache. Teraz jest on bardziej intuicyjny oraz idiotoodporny.
Na potrzeby Open Power Forms dodałem także dwie nowe instrukcje: BIND oraz INSERT. Pełnią one rolę pewnego rodzaju funkcji wewnątrz szablonów, tj. jedna przechwytuje fragment szablonu tak, że można go umieszczać w różnych miejscach instrukcją INSERT. Od CAPTURE'a odróżnia je to, że nie przechwytują one gotowego kodu HTML, lecz szablon, zatem do każdego takiego fragmentu można wstawiać inne dane.






Napisał normanos w środę, 7 grudnia 2005 o 23:40
dzięki, staram się jak mogę. teraz chwilowo mam inną robótkę (fuchy po znajomości suxx, szkoda gadać) ale za parę dni wróce do starego projektu i będę jechał z RC2. bedę pisał na forum OPTa. pozdrawiam.