![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Chiciałbym wiedzieć ilu z was używa i co o niej sądzicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 4.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dla mnie podstawa. Zawsze używam.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
W php się sprawdza znakomicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Na prawdę ułatwia informacje co i gdzie trzymamy, zwłaszcza, że w php nie mamy typowania przecież.
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dla ułomnego php notacja węgierska (i inne takie) jest światełkiem w tunelu przejrzystości kodu.
Aczkolwiek ja wolę: bln - boolean int - integer flo - float str - string arr - array obj - object res - resource |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Przydatne, ale ja i tak wolę nazywać zmienne zgodnie z przeznaczeniem i to wystarcza (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale można przecież używać zgodnie z przeznaczeniem, a notacja nie tylko ułatwia prace początkującemu. tworząc zmienną:
wiemy od razu jakiego typu jest, po co grzebać w klasach i szukać co getParams() zwraca ;] A co do notacji to skrócona chyba lepsza co ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
No i co myślicie o wielbłądzię ?
Ps. Ja już sie przyzwyczaiłem i za cholere nie zmienie stylu pisania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ja tam jestem zwolennikiem kodowania wg. Code Conventions for the Java Programming Language.
To jest moim zdaniem jedyny właściwy standard. I właśnie, to jest standard, jeśli chcesz pisać w Java, piszesz wg. Conventions i kropka. W php standardu nie ma, jest za to śmietnik. Dlatego wszystko co zbliża mnie w php do Java Conventions jest lepsze od wszystkiego poprzedniego. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
@envp: piszę tak jak Ty właśnie podałeś, dla mnie jest to optymalny sposób pisania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
W php też jest pewna propozycja pear jak powinno się pisać: http://pear.php.net/manual/en/standards.php |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie okreslanie typow zmiennych poprzez ich nazwy w jezyku typowanym dynamicznie jest conajmniej dziwne. Po to jest typowany dynamicznie zeby zmienna nie miala narzuconego typu. Jak rozwiazujecie sytuacje gdy nie znacie typu zmiennej? Ulomnoscia php jest niemoznosc przeciazania funkcji. Wiec w przykladzie
Jak wg notacji wegierskiej powinna byc oznaczona $param? Jako mixed? Co do konwencji kodowania, nie ma ustalonej odgornej, ale jest ich kilka. PEARowa i ZF sa bardzo zblizone do Java Code Conventions. Cytat I właśnie, to jest standard, jeśli chcesz pisać w Java, piszesz wg. Conventions i kropka. W php standardu nie ma, jest za to śmietnik. Bez przesady. Nie chcesz pisac wedlug konwencji Javowych to tez nie piszesz. I to samo w php. edit: poprawki gramatyczne bo sam nie moglem jednego zdania zrozumiec po przeczytaniu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował ikioloak 9.01.2007, 12:34:48 |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak wg notacji wegierskiej powinna byc oznaczona $param? Jako mixed? Tak, a potem mozesz zmienic jej nazwe: if ( is_array( $params ) ) { $aParams = $params; } itp |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie okreslanie typow zmiennych poprzez ich nazwy w jezyku typowanym dynamicznie jest conajmniej dziwne. Jeśli coś ułatwia pracę to dlaczego tego nie stosować? Osobiście w ogóle nie wsadzam do jednej zmiennej np. stringu, a potem tablicy czy obiektu. Mogę, ale wydaje mi się to niewłaściwe z punktu przejrzystości kodu.. raz w zmiennej była tablica, potem jest obiekt.. e sorry, mnie to nie bawi. Wolę mieć porządek, a ten porządek pomaga mi zachować notacja węgierska. Mixed używam gdy nie wiem jakiego typu będzie dana zmienna.. czasem się zdarza (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 23.06.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
No i co myślicie o wielbłądzię ? (...) Ps. Ja już sie przyzwyczaiłem i za cholere nie zmienie stylu pisania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam dokładnie to samo... Wielbłąd ponad wszystko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W php i takza wiele nie piszę, a w innych językach IDE podpowiada zwracany typ ;] |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Obecnie nie musisz sprawdzać typu zmennej jeśli jest ona obiektem, lub tablicą
Notacja węgierska faktycznie może pomóc w czytaniu kodu, ale nazewnictwo zmiennych wydaje mi się przesadą (choć nie zawsze), zwłaszcza w kodzie obiektowym, mocno "zinterfejsowanym". Rozważmy taki przykład.
Nazwy zmiennej praktycznie się nie używa. Klasa udostępnia za to settery i gettery do tej właściwości. Od tego momentu nie musisz znać nazwy zmiennej - używasz interfejsu, do którego musisz przeczytać dokumentację. Zauważcie, że metody są publiczne, a więc przeznaczone dla otoczenia obiektu, ale sama klasa również korzysta ze zdefiniowanego przez siebie interfejsu W tym przypadku oznaczanie A::$MyProperty przedrostkiem i lub int byłoby masłem maślanym, bo tylko dwie metody bezpośrednio operują na tej zmiennej. Dla programisty jest ważne, że musi przekazać zmienną typu integer jako argument metody setMyProperty(). Nie musi sprawdzać tez typu zwracanego przez getMyProperty(), bo jest on wymuszony przez wspomniany setter. Owszem. Nie zawsze tworzy się tak rozbudowane interfejsy dostępu do zmiennych, ale chciałem pokazać, że w kodzie obiektowym można (często się nawet zaleca) inaczej. Wydaje mi się, że ta notacja jest w php niezbędna w kodzie strukturalnym oraz w mocno skomplikowanych algorytmach (30-40 linijek kodu?). Po prostu ułatwia zrozumienie. Na koniec cytat z Wikipedia.org Cytat Notacja węgierska, przez wielu wręcz uwielbiana, u innych wywołuje mieszane uczucia. Główną wadą tego systemu jest zmiana typu zmiennej. Jeśli chce się zmienić typ, trzeba poprawiać nazwę w każdym miejscu programu. W związku z tym notacja nie jest najlepszym rozwiązaniem dla programistów nieco roztargnionych. Pozdrawiam. Ten post edytował Cysiaczek 9.01.2007, 13:27:26 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
dla mnie to robienie z kodu śmietnika, zamiast przejrzystego kodu otrzymujemy jakieś szlaczki. tutaj przychylam sie do glosu mike_mecha.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Co tak poza tym daje wiadomosc ze zmienna jest obiektem jak i tak nie wiemy jakiej klasy. Znow jak okreslic tablice obiektow zeby oddac jej charkter.
Lepszym rozwiazaniem niz konwencja wegierska wydaje mi sie robienie stosownych komentarzy phpDoc'a. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat dla mnie to robienie z kodu śmietnika, zamiast przejrzystego kodu otrzymujemy jakieś szlaczki. tutaj przychylam sie do glosu mike_mecha. No bez przesady, kod 'po węgiersku' wydaje się być bardzo czytelny a przedrostki "_" przed nazwą zmiennej pokazują w łatwy sposób czy to prywatna zmienna czy stała. No, ale z tego robi się troszeczkę flame, bo to kwestia gustu. Mimo to uważam, że to jest najlepszy do tej pory sposób pisania a czemu ? Powtarzanie w kółko tego samego że zaczynamy od typu zmiennej z małej litery, wielbłąd, oraz przedrostki typu "_" pozwalają naprawdę w łatwy sposób kod już czytać bo, trzymając się tego kruczowo (po kilku tysiącach linii kodu) widzimy to co chemy bo zawsze to znajduje się tam gdzie powinno (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował envp 9.01.2007, 15:12:40 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Powiem krotko - nie znosze n.wegierskiej i nie korzystam. Notacja wegierska jest dla tych co nie potrafia sie polapac we wlasnym kodzie.
Notacje wielbladzia to jest to :-) Podkresliniki na poczatku byly dla PHP4 - kazde porzadne srodowisko dla PHP5 rozroznia protected itp tak wiec nie ma potrzeby. A najgorsze to jest to : Zend_Controller_Costam_Jeszczecosinnego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#18
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
A ja jestem wielkim zwolennikiem notacji węgierskiej w połączeniu z CamellCase.
Dlaczego? Nie zawsze przeglądam kod php w środowisku programistycznym. Czasem konieczne jest praca w jakimś prostszym edytorze. Wtedy typowanie zmiennych po ich nazwach okazuje się więcej niż przydatne. Wstępnie korzystałem z wersji 3-znakowej, tak jak mike_mech - ostatecznie stwierdziliśmy jednak, że jest to bezcelowe marnowanie dodatkowych 2 znaków, w sytuacji, gdy i tak nic więcej to nie wnosi. Dlatego został tylko jeden (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Argument o tym, że w przypadku zmiany typu zmiennej konieczna jest poprawka wielu jej wywołań jest CO NAJMNIEJ bzdurny. Przecież oczywiste jest, że jeśli coś, co było tekstem, stało się int, to służy do czegoś innego, będą na tej zmiennej wykonywane inne operacje i zmienna służyć będzie po prostu do czegoś innego. Tak więc kod i tak i tak trzeba będzie modyfikować. Taki los roztargnionych... A co z zmiennymi o nie określonym typie? Ja używam przedrostka m (mixed) i wtedy wiem dokładnie, że w tym przypadku konieczna jest zwiększona ostrożność w pracy z nią. A w przypadku obiektów, zgodnie z dłuższą rozmową, którą kiedyś prowadziliśmy w naszym php.pl'owym gronie, nazywam z dużych liter, bez żadnych dodatkowych przedrostków. Jest to jedyne odstępstwo od notacji Javy, na które zdecydowaliśmy się by wyraźnie zaznaczyć obiektowość niektórych atrybutów. (acha - w większości notacji denerwuje mnie jeszcze jedna rzecz - umiejscowienie spacji w strukturach kontrolnych. Nie wiem do końca dlaczego, ale nie znoszę zapisu if ($cos>0){ i za o wiele czytelniejszy uznaję if( cos>0 ){ - ale to już chyba moje prywatne zboczenie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) |
|
|
![]()
Post
#19
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Podpisuje się pod opinią DeyV.
Praktycznie idealnie tak pracuje jak Deyv i jestem bardzo zadowolony z tego sposobu. Stosowałem wiele innych , lecz w końcu okazała się że zbiór tych zasad jest najlepszy. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 29.07.2003 Ostrzeżenie: (10%) ![]() ![]() |
Polecam ten artykuł: http://www.joelonsoftware.com/articles/Wrong.html .
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Nie używam węgierskiej choć kiedyś prowadziłem się z takim zamiarem. Przy dobrze napisanej strukturze klasy/metody etc. da się połapać co jest czym. Fakt czasami da się zamieszać, ale przy przeważającym pisaniu w IDE - jest automatyczne podpowiadanie.
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam sie z NuLLem wielbłądzia Rulezz
A rzadko kiedy piszę w IDE chyba, że Kate jest za nie uznawane. |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ja tez uwazam ze notacja węgierska jest jakas pomylka, rodzaj zmiennej mozna poznac po jej nazwie np. $TimeStamp wiadomo ze int, $IsAdmin wiadomo ze bool i niema co sie bawic w "pro".
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@intol: Świetny artykuł naprawdę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A to całe Apps Hungarian to świetna rzecz i aż żal że to się zamieniło w Systems Hungarian (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 5 Dołączył: 24.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
w swojej aplikacji to jeszcze, ale jak trzeba cos zrobic w czyims kodzie? to ja juz wole miec te 1 literke wiecej i wiedziec co sie dzieje bez wiekszego myslenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja też używam notacji węgierskiej ponieważ jest mi z tym wygodniej i kod jest bardziej przejrzysty. Jak ktoś nie chce to nie musi używać. A hardcorowcy mogą pisać wszystko w jednej linijce (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Przed nazwami prywatnych właściwości dodaję "_". Czy oznaczacie jakoś specjalnie właściwości chronione czy tylko prywatne? |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
A po co je oznaczać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ? Ja wszystkie właściwości klasy daje prywatne (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) I dostęp tylko poprzez metody dostępowe, więc po co zabawa ?
|
|
|
![]()
Post
#28
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
A po co je oznaczać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ? Ja wszystkie właściwości klasy daje prywatne (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) I dostęp tylko poprzez metody dostępowe, więc po co zabawa ? prywatne i chronione |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
A po co je oznaczać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ? Ja wszystkie właściwości klasy daje prywatne (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) I dostęp tylko poprzez metody dostępowe, więc po co zabawa ? Ja stosuje też publiczne więc się pytam.. |
|
|
![]()
Post
#30
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
@J4r0d - Podkreślenie jak już wspomniał Turgon było potrzebne w php 4, bo nie było zmiennych oraz metod chronionych i prywatnych. Służyło to informowaniu programisty, że nie powinien dotykać tej zmiennej w innym kontekście niż kontekst klasy, bądź być bardzo ostrożnym w takim operowaniu. Faktem jest jednak, że zdobyło to popularność i jest do dzisiaj stosowane. Ja przestałem w momencie pisania pierwszej klasy w php 5. Zanim oznaczysz coś jako publiczne powinieneś 5x się zastanowić : )
Pozdrawiam. Ten post edytował Cysiaczek 11.01.2007, 20:50:05 |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
z węgierską jest jak z Symfony: używać się tego nie da a mimo to ma wielu zwolenników (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 11:50 |