Post
#1
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Witam,
proszę o opinie na temat: 1. strony www 2. frameworka Co byście zmienili, czego wam brakuje. Adres: http://spawnframework.com/ |
|
|
|
![]() |
Post
#21
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Brakuje ci spacji i enterów ? A ja myślałem że za dużo zawsze daję (IMG:style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat Brakowało mi prostoty struktury fw Twój FW nie jest prosty... jest prymitywny. Niestety ale przeglądając jego źródła natrafiłem na dziesiątki miejsc, gdzie będzie on ograniczać i utrudniać życie, a nie pomagać. Dodatkowo jest zaprojektowany na przekór wszystkim ideą OOP (patrz dziesiątki statycznych metod, które być nie powinny) co zemści się w momencie, gdy będziesz chciał rozszerzyć jakiś "moduł".Cytat brakowało mi fw do małych projektów A tak konkretnie to w czym przeszkadza użycie jakiegoś Symfony czy Zenda w małych projektach. Co jest konkretnie złego w tym, że sam FW będzie 5 razy bardziej obszerny niż aplikacja?Cytat fw który by nie zajmował kilka MB Ponownie - podaj jakiś konkretny argument przeciwko 10 megowemu FW. Jego API nauczysz się w 1-3 dni. Momentami będziesz musiał podejrzeć bezpośrednio źródła, ale zajmie to nieporównywanie mniej czasu niż pisanie czegoś własnego (szczególnie, jeżeli miałoby być na poziomie).Cytat Widząc w jakim kierunku rozwija się np. kohana w której pracowałem uznałem że ja w tym czymś pracować dalej nie będe. No to nie pracuj. Mi również nie podoba się ten FW (jednak jestem zmuszony do pracy przy jego wykorzystaniu w jednym projekcie) - ale całe szczęście PHP oferuje kilka innych wartych uwagi FW.Cytat jak masz 20 tys plikow w projekcie to bedziesz kazdy z osobna otwieral i uruchamial Eee... takie Eclipse np. bezpośrednio w drzewie projektu pokazuje, w których plikach są błędy (NB, ZS pewnie też). (IMG:style_emoticons/default/winksmiley.jpg) Cytat to co wyżej uważasz za śmietnik? Przesadzasz Nie przesadza. (IMG:style_emoticons/default/winksmiley.jpg) Cytat Może nie byle szybciej ale na kolanie chwilami tak To zły projekt sobie wziąłeś na "wzór".
|
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat pozatym z komercyjnego punktu widzenia, nie moge wykorzystac twojego kodu na powaznie, bo nie ma on zadnej gwarancji dzialania, a dobre testy sa taka wlasnie gwarancja Zapomniałeś słowa które pogrubiłem. To że się napisze kilka testów, które powiedzmy pokrywają 40% kodu, to nie znaczy że są jakąkolwiek gwarancją (IMG:style_emoticons/default/winksmiley.jpg) Ale ogólnie z tym stwierdzeniem się mogę zgodzić. Jeśli chodzi o sam framework, to nie będę mocno krytykował, jednak stwierdzę że pośpieszyłeś się z jego publikacją. * Już kilka osób zwróciło Ci uwagę np. na metodę sf_view::factory(). To nie jest implementacja wzorca factory, abstract factory, ani factory method, więc skąd taka nazwa tej metody? po co ona jest? (IMG:style_emoticons/default/snitch.gif) * Masz za duże zamiłowanie do metod statycznych, zdecydowanie za bardzo klasy pisane przez Ciebie przypominają zlepek funkcji. Równie dobrze ponad połowa frameworku mogła by być napisana samymi funkcjami w poszczególnych przestrzeniach nazw (czyli przykładowo cache\get). Pamiętaj że istota oop to nie procedury, a dane i operacje na nich. * Zdecydowanie zbyt dużo singletonów, najlepiej jakby w ogóle tego tworu nie było. * Styl kodowania (nie mówię tutaj o formatowaniu, ale o ogólnym sposobie pisania klas, metod itp.) pozostawia wiele do życzenia. |
|
|
|
Post
#24
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
1/3 to static z tego co widzę, ale macie rację bo i ja się zastanawiałem czy by z niektórych metod nie wywalić static.
//Styl kodowania (nie mówię tutaj o formatowaniu, ale o ogólnym sposobie pisania klas, metod itp.) pozostawia wiele do życzenia. chodzi ci o nazewnictwo czy spacje/entery jak skowronowi ? Cytat * Już kilka osób zwróciło Ci uwagę np. na metodę sf_view::factory(). To nie jest implementacja wzorca factory, abstract factory, ani factory method, więc skąd taka nazwa tej metody? po co ona jest? snitch.gif No w sumie mogłem tam dać load czy coś w tym stylu. A wykorzystuje to tak:
Może i głupie może i nie (IMG:style_emoticons/default/tongue.gif)
Powód edycji: [Spawnm]:
|
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
Kod rzeczywiście mało czytelny, przynajmniej dla mnie. To formatowanie PEAR, trafiłem ? (IMG:style_emoticons/default/biggrin.gif) Gdyby przepuścić pliki przez jakiś "upiększacz" można było by poczytać, teraz dość ciężko analizować kod. A teraz tak pobieżnie, widać, że dużo pracy w to włożyłeś. Sam może z rok temu dziergałem kod własnego - niestety do niczego to nie doprowadziło. Straciłem zapał i stwierdziłem, że lepiej skorzystać z innego framework-a, którego nie tworzy jedna osoba. Po jakimś czasie napewno wyszło by wiele tzw. "wąskich gardeł", które uniemożliwiały lub utrudniałyby dalszy rozwój aplikacji. Wzorowałeś się na Kohanie ? Co do struktury katalogów, rzeczywiście konfiguracja, logi, cache etc., już należą do aplikacji. W katalogu bibliotek nic poza ich kodem, sterownikami nie powinno być. W ostateczności konfiguracja domyślna, lecz nadpisywalna przez tę w folderze aplikacji. Kod ocenię jak będę miał trochę więcej czasu (IMG:style_emoticons/default/winksmiley.jpg)
BTW. http://beta.phpformatter.com. Ten post edytował Quantum 8.07.2010, 22:15:34 |
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
Jeśli chodzi o styl kodowania to co mi się rzuciło w oczy:
- niespójne komentarze, raz przed metodą w stylu phpDoc, raz zwykłe jedno linijkowe - niechlujstwo i niekonsekwencja - np. raz przed przecinkiem jest spacja, raz jej nie ma - kod ciężko się czyta, próbujesz ratować jego czytelność miejscami gęsto osadzonymi jedno linijkowymi komentarzami, co jest właśnie oznaką tego że kod nie jest czytelny (IMG:style_emoticons/default/winksmiley.jpg) Lepiej zamiast pisać takich komentarzy zmienić nieco kod. - trochę powtórzeń kodu - niektóre metody są za duże, powinny być rozbite na kilka mniejszych (metody za duże rozpoznasz po tych komentarzach które zajmują jedną liniję) Aby nie być gołosłownym, przykład (IMG:style_emoticons/default/winksmiley.jpg) Oryginalny kod:
Lekko zrefaktorowany:
Ten post edytował -=Peter=- 8.07.2010, 22:21:54 |
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Ja się przyczepię do wynajdowania koła na nowo. Nie chodzi mi o framework, jako taki, ale o zastosowane w nim rozwiązania. Co skłoniło Cię do wyprodukowania pliku sf_date.php, kiedy PHP już od co najmniej kilku lat ma wbudowane, prekompilowane i obiektowe rozszerzenie do zarządzania datami, które na pewno jest bardziej dokładne, niż Twoje?
http://docs.php.net/manual/pl/class.datetime.php Patrzymy do sf_math, a tam: Kod public static function hex2dec($number){ http://docs.php.net/manual/pl/function.hexdec.php Lub przekombinowane algorytmy. sf_math::hex2rgb() - jakieś skomplikowane operacje na tekście tam robisz, a taka konwersja to de facto zrzutowanie tekstu na liczbę całkowitą, przepuszczenie jej przez trzy maski bitowe i zrobienie przesunięć w prawo. |
|
|
|
Post
#28
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Hey,
takie klasy jak math czy date wpadły do frameworka bo swego czasu napisałem funkcje które tam obecnie się znalazły w formie metod i uznałem że skoro mi się pewnie kiedyś przydały to może i teraz komuś się przydadzą (IMG:style_emoticons/default/smile.gif) Co do config debug itp w sf, możecie je dać gdzie wam się podoba, tylko w index.php zmodyfikujcie define(). @Quantum -> ten programik narzuca stosowanie
I zbyt wiele w kodzie nie zmienia ... no wcięcia mi zmniejszył . Nie powiedział bym aby kod z rezultatu był czytelniejszy , przynajmniej nie dla mnie . 'Wzorowałeś się na Kohanie ?' W pewnym stopniu tak, do zenda też mi się zaglądało a i po dokumentacjach innych frameworków przeleciałem palcem zobaczyć jak oni różne rzeczy rozwiązali . |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
Czepiacie się, wszystko idzie dopracować, jak jemu działa i mu odpowiada to jest jego projekt, można błędy powytykać ale po co mieszać od razu gościa z błotem? Nikt Wam nie każe używać jego projektu, mi by nawet na tym nie zależało by ktoś używał mojego jak zrobię ( a zrobię release ), a chętnie po wysłuchuje zrypek ;]
Wcale nie jest prymitywny, tylko prosty, czasami człowiek na prawdę nie wie gdzie jaką metodę wrzucić, nie każdy jest po studiach z inżynierią oprogramowania, gdzie takie rzeczy po prostu wałkują w Ciebie. |
|
|
|
Post
#30
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
A mi się podoba! Prosty, mały i zapewne do takich celów został stworzony. Może nie jest idealny, ale jeśli spełnia swoją rolę to w czym rzecz? Do każdego frameworka (nawet tych klasy enterprise) można się doczepić.
Odnośnie pytania dlaczego nie używać np. ZF dla małych projektów: wydaje mi się, że narzędzia powinno dobierać się pod konkretne wymagania i potrzeby, a nie z pały łubu-dubu. ZF dla strony domowej z formularzem kontaktowym to moim zdaniem przerost formy nad treścią. PS: skrót sf faktycznie jest mylący, również w pierwszej kolejności skojarzyłem go z symfony i myślałem, że to jakiś Twój fork tego frameworka (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#31
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
A ja bym prosił o jakieś dane dotyczące zużycia pamięci, czas wykonywania dla konkretnych przykładów stron (co tam jest itd)
|
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
@up, popieram, uwzględnij też manipulacje danymi na jakimś większym zbiorze przez ORM (IMG:style_emoticons/default/smile.gif)
w kodzie często używasz ternary operator ze zbędnymi nawiasami np:
wystarczy isset($_COOKIE[$name])? $_COOKIE[$name] : $or; ale to drobnostka. Sprawdź sobie formatowanie Allman BSD, jest dość podobne do tego, które zastosowałeś. Przykłady:
A tak na boku, zamierzasz zaimplementować url forwarding ? brakowało tego w Kohanie. |
|
|
|
Post
#33
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Cytat Może nie jest idealny, ale jeśli spełnia swoją rolę to w czym rzecz? Jest to pierwsze publiczne wydanie , jak byście powiedzieli że jest idealny to byś się mocno zdziwił. Co do skrótu sf - symfony : w plikach symfony stosuje nazwy klas w formie sfNazwaKlasy , ja ze względu na loader klas stosuję sf_nazwa_klasy więc mylić się aż tak nie powinno. @Wookieb - w wolnej chwili porobię i dam na forum,blogu bo i tak się do tego przymierzałem. //----- Cytat A tak na boku, zamierzasz zaimplementować url forwarding ? są chyba 2-3 metody do przekierowań , opisz czego dokładnie oczekujesz. Co do ternarów i niby zbędnego nawiasu - pomaga mi , kod dla mnie staje się czytelniejszy. Cytat Sprawdź sobie formatowanie Allman BSD Nawet nie wiesz jak mnie wkurza gdy widzę że ktoś pisze w ten sposób .
Powód edycji: [Spawnm]:
|
|
|
|
Post
#34
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Co do skrótu sf - symfony : w plikach symfony stosuje nazwy klas w formie sfNazwaKlasy , ja ze względu na loader klas stosuję sf_nazwa_klasy więc mylić się aż tak nie powinno. Ale to nie zmienia faktu, że pierwsze skojarzenie = symfony. (IMG:style_emoticons/default/tongue.gif) |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%)
|
Znalazłem czas. Przysiadłem i oto kilka rzeczy które mi się nie podobają (IMG:style_emoticons/default/winksmiley.jpg) .
1. Plik file.php metoda - mimeType() - kod, który tam masz jest żywcem z php.net (IMG:style_emoticons/default/winksmiley.jpg) i nie chodzi o to, że branie stamtąd to zło. Po prostu wiele osób, które się tam wypowiada nie orientuje się w temacie. Analogicznie tutaj - do sprawdzanie typu pliku używać się powinno http://www.php.net/manual/en/book.fileinfo.php Określanie mime po rozszerzeniu to jak picie płynu od obcej osoby tylko dlatego, że jest napis woda na butelce... 2. form.php to dla mnie jakaś pomyłka. Może to kwestia przyzwyczajenia ale po prostu nie korzystam z takich generatorów htmla. Jeśli natomiast chcesz to zostawic to popracuj nad poprawnością np.
Powinno być raczeh checked="checked" a $css powinno się nazywać $others lub podobnie bo widzę, że można w tym parametrze wstawić nie tylko css. W końcu czasem potrzeba title, rel lub disabled. W input type="text" nie masz readonly itd. Do dopracowania jest ta klasa 3. image.php - jeżeli nie przefiltrujesz ręcznie nazwy pliku to klasa będzie dziurawa. Nie uzywaj getimagesize() tylko exif_imagetype() 4. jquery.php - ? 5. Brakuje mi klasy do tłumaczeń Ogólnie widzę, że się nieźle napracowałeś. Sporo kodu jest w porządku choć osobiście nie będę korzystał z dwóch powodów: 1. męcząca dla mnie składnia(np to że muszę za każdym razem ręcznie tworzyć widok lub model) 2. Mam swój, lepszy haha (IMG:style_emoticons/default/biggrin.gif) Ten post edytował SHiP 9.07.2010, 09:57:30 |
|
|
|
Post
#36
|
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
Cytat(Spawnm) Cytat Sprawdź sobie formatowanie Allman BSD Nawet nie wiesz jak mnie wkurza gdy widzę że ktoś pisze w ten sposób . wyluzuj.. to tylko sugestia (IMG:style_emoticons/default/winksmiley.jpg) Jeśli chodzi o url forwarding, to miałem na myśli przekierowanie na inny kontroler/akcje bez zmian w pasku adresowym. Na przykład: wchodzisz do strefy płatnej: http://przyklad.pl/artykuly/166/tytul-arta zamiast artykułu widzisz stronę z informacją o dokonaniu płatności, bez przekierowania na np. adres: http://przyklad.pl/abonament choć będzie to w rzeczywistości ten sam kontroler. Ten post edytował Quantum 9.07.2010, 10:01:25 |
|
|
|
Post
#37
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Zobacz czy sf_controller::getAction spełnia twoje oczekiwania
@SHiP -> masz lepszy? Pokaż. (IMG:style_emoticons/default/smile.gif) Cytat 1. męcząca dla mnie składnia(np to że muszę za każdym razem ręcznie tworzyć widok lub model) do widoku masz mini ułatwienie w formie sf_template , opisz dokładniej w czym problem.
Powód edycji: [Spawnm]:
|
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
Cytat Zobacz czy sf_controller::getAction spełnia twoje oczekiwania HMVC.
po zmianie na echo w infoAction (zachowanie $view->render(true)) nie ma sensu już wywoływać echo $controller->getAction, trzeba to poprawić, albo na ob_* - nie zbyt elegancko, albo w klasie widoku udostępnić metodzie getAction manipulację zwracaniem/wyświetlaniem wyniku.
czemu ma służyć to opakowywanie metod (sf_controller::pre()) ? a tak ogólnie, nawet nieźle Ci to wyszło (IMG:style_emoticons/default/smile.gif) Ten post edytował Quantum 9.07.2010, 10:37:52 |
|
|
|
Post
#39
|
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Cytat czemu ma służyć to opakowywanie metod ? mojemu lenistwu przy testowaniu wyników w trakcie pisania sf , wygodniej mi było w kontrolerze pisać $this->pre($result); Cytat a tak ogólnie, nawet nieźle Ci to wyszło smile.gif A dziękuje (IMG:style_emoticons/default/smile.gif) udostępniłem 1.0.6 bez błędów (przynajmniej bez większości błędów (IMG:style_emoticons/default/tongue.gif) )
Powód edycji: [Spawnm]:
|
|
|
|
Post
#40
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat mojemu lenistwu przy testowaniu wyników w trakcie pisania sf , wygodniej mi było w kontrolerze pisać $this->pre($result); To weź sobie w swoim edytorze ustaw szablon, by po wpisaniu nie wiem... "pre" wywalało "sf_html::pre" czy jak to tam masz, a nie śmieć w "finalnym wydaniu"PS. Jak chcesz udostępniać to jako OS, to wypadałoby udostępnić jakieś narzędzia do zgłaszania błędów, może publiczne repozytorium (polecam GITa) - nieco się pospieszyłeś z publikacją. Ten post edytował Crozin 9.07.2010, 10:50:09 |
|
|
|
![]() ![]() |
|
Aktualny czas: 10.06.2026 - 08:51 |