Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Styl pisania, Nazwy zmiennych, funkcji
Jak nazwiesz funkcję (metodę)
Najczęściej??
nowaFunkcja [ 23 ] ** [71.88%]
nowa_funkcja [ 8 ] ** [25.00%]
Nowa_Funkcja [ 1 ] ** [3.12%]
NOWA_FUNKCJA [ 0 ] ** [0.00%]
Suma głosów: 32
Goście nie mogą głosować 
markonix
post 5.05.2012, 18:20:13
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Nie umiem się zdecydować nad stylem mojego kodu, a dokładnie na formatem nazewnictwa.
Znam osobiście 3, 4 metody:
- nazwaZmiennej
- nazwa_zmiennej
- Nazwa_Zmiennej
- NAZWA_ZMIENNEJ

Nie satysfakcjonuje mnie też odpowiedź "jak Tobie wygodniej" bo gdy piszesz coś większego to chcesz aby to było maksymalnie czytelne dla innych.
Używanie znaku podkreślenia wydaje mi się bardziej naturalne w przypadku tablic asocjacyjnych, które często są wynikiem zapytania do BD, a tam pisze się nazwy kolumn wyłącznie z podkreślnikiem. Tym stylem nazywane też są funkcje wbudowane w PHP co też jest dosyć solidnym argumentem. Na ten moment stosuje jednak CamelCase bo wydaje mi się.. ładniejszy..

Zastanawiam się czy nie ma jakichś prób normalizacji stylu kodowania ale w globalnym zastosowaniu (np. WordPress promuje konkretny styl, ZEND chyba też).

Ten post edytował markonix 5.05.2012, 18:22:59


--------------------
Go to the top of the page
+Quote Post
krowal
post 5.05.2012, 18:35:24
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Ja używam dwóch z twojej listy nazwaFunkcji oraz nazwa_funkcji z tym że ograniczam sie z konkretnym stylem do jakiegoś tam obszaru. Np pierwszy do metod, funkcji i czasem zmiennych, drugi tylko do zmiennych. Generalnie chodzi o to aby było czytelnie, nie ważne jak piszesz. Jak nabierzesz doświadczenia w pracy w teamie to przestaniesz widzieć w tym problem.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
skowron-line
post 5.05.2012, 19:22:02
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Ja pisze zgodnie z
http://kohanaframework.org/3.0/guide/kohana/conventions

camelCase jest w JS używane, w połączeniu z notacja węgierską.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
!*!
post 5.05.2012, 19:31:07
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


funkcje: nazwaFunkcji
nazwy klas: nazwaKlasy lub nazwa_klasy gdzie _ jest zamieniany na /
zmienna: nazwa_zmiennej lub nazwaZmiennej w zależności od sytuacji.

dodatkowo gdy odwołuję się do metody $lol-> default(); to zawsze daję spacje.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
tehaha
post 5.05.2012, 19:36:38
Post #5





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
Nie satysfakcjonuje mnie też odpowiedź "jak Tobie wygodniej" bo gdy piszesz coś większego to chcesz aby to było maksymalnie czytelne dla innych.
Oczywiście, że jest to ważne ale to, który styl wybierzesz nie ma aż tak wielkiego znaczenia, bo to kwestia gustu, ważne żeby kod był napisany spójnym stylem i miał przyjęte jakieś zasady. Ponadto sam format zapisu nazwy funkcji to tylko jedna z wielu zasad jakie powinien zawierać czytelny kod, ważne są też wcięcia, komentarze, nazwy klas, stałych, nazwy tabel i kolumn w bazie, nazwy plików itd.. Osobiście używam "nazwa_zmiennej" w php i nazwaZmiennej w Java i JavaScript oraz stosuję wyłącznie angielską nomenklaturę i komentarze, jak widzę kod z polskimi nazwami dla funkcji i zmiennych to aż mnie telepie. Ważne też, żeby nazewnictwo było proste i logiczne.

Tu masz kilka bardziej popularnych konwencji:
http://framework.zend.com/manual/en/coding-standard.html
http://www.horde.org/apps/horde/docs/CODING_STANDARDS
http://pear.php.net/manual/en/standards.php
Go to the top of the page
+Quote Post
marcio
post 5.05.2012, 20:05:41
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Zalezy w php uzywam camelCase czasem zdazy mi sie uzyc nazwa_metody z pythona-a ale ogolnie php nie jest case sensitive wiec nie wiem o co tyle zalotu kazdy pisze jak chce a to ze zend czy kohana ma swoje konwencje to wiesz....snitch.gif oczywiscie zeby bylo czytelnie


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
greycoffey
post 5.05.2012, 20:18:46
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


  1. namespace Greycoffey\Cache\Driver;
  2.  
  3. class Filesystem // to ma odzwierciedlać strukturę folderów - przestrzenie nazw i klasy, zgodnie z PSR-0
  4. {
  5. public $nazwaZmiennej; // na początku publiczne, takNazywane
  6. protected $nazwaZmiennej2; // żadnych fikuśnych _ przed nazwą zmiennej
  7. private $nazwaZmiennej3; // tu też, ani przed funkcją
  8.  
  9. // metod takNazywane() - w kolejności: magiczne, publiczne, protegowane, prywatne
  10. }
  11.  
  12. //zmienne takNazywane, a klasy, interfejsy, traitsy(?) TakNazywane


Cytat(markonix @ 5.05.2012, 19:20:13 ) *
Tym stylem nazywane też są funkcje wbudowane w PHP co też jest dosyć solidnym argumentem.

Hahahaa wink.gif W PHP masz bajzel, a nie standard nazewnictwa, i to nie jest żaden argument wink.gif Nie śmieje się z Ciebie, tylko z naszej bibiloteki podstawowej w PHP, która ciągle ewoluuje.


Ten post edytował greycoffey 5.05.2012, 20:22:04
Go to the top of the page
+Quote Post
marcio
post 5.05.2012, 21:13:14
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
protegowane

Chronione wink.gif

Ja daje suffix "_" przed metodami prywatnymi
Interfejsy maja suffix Inazwa i wiele wiele innych ;]


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
markonix
post 6.05.2012, 09:14:19
Post #9





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(greycoffey @ 5.05.2012, 21:18:46 ) *
Hahahaa wink.gif W PHP masz bajzel, a nie standard nazewnictwa, i to nie jest żaden argument wink.gif Nie śmieje się z Ciebie, tylko z naszej bibiloteki podstawowej w PHP, która ciągle ewoluuje.

Ciekawe czy myśleli o zrobieniu aliasów w camel case dla wbudowanych funkcji.
Warto zauważyć, że już nowsze, wbudowane biblioteki jak PDO nazwy metod mają camelCase.


--------------------
Go to the top of the page
+Quote Post
greycoffey
post 6.05.2012, 10:04:12
Post #10





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Co do interfejsów, gdy nie da isę wymyślić sensownej nazwy jak np. Paginable, dodaje końcówkę Interface, np. DriverInterface.
Go to the top of the page
+Quote Post
!*!
post 6.05.2012, 11:19:36
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(markonix @ 6.05.2012, 10:14:19 ) *
Ciekawe czy myśleli o zrobieniu aliasów w camel case dla wbudowanych funkcji.
Warto zauważyć, że już nowsze, wbudowane biblioteki jak PDO nazwy metod mają camelCase.


Team PHP zawsze o czymś myśli, ale tylko na początku... w końcowej fazie albo to spieprzą, albo zostawią bo ktoś zrzędzi że trzeba zachować wsteczną kompatybilność np. patrz na <?= tyle było szumu że trzeba to wypieprzyć, a w 5.4 okazało się że jest domyślnie włączone... parodia.

Cytat
Ja daje suffix "_" przed metodami prywatnymi


To pachnie starą metodą z dawnych wersji FW które tym sposobem nie chciały wykonywać metod z "linku". Dzisiaj to już bardziej bawi smile.gif szczególnie że w niektórych FW nadal jest to dostępne.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
redeemer
post 6.05.2012, 11:30:07
Post #12





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Co do interfejsów, klas abstrakcyjnych, namespaceów w PHP 5.3+ to http://news.php.net/php.standards/2


--------------------
Go to the top of the page
+Quote Post
markonix
post 6.05.2012, 12:35:29
Post #13





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 6.05.2012, 12:19:36 ) *
patrz na <?= tyle było szumu że trzeba to wypieprzyć, a w 5.4 okazało się że jest domyślnie włączone... parodia.

Akurat ten znacznik wydaje mi się dosyć wygodny gdy nie stosuje się żadnych systemów szablonów typu smarty.
Także słyszałem o tym, że będzie nie wspierany i go w ostatnich projektach nie stosowałem, dopóki nie zapoznałem się changelog 5.4,


--------------------
Go to the top of the page
+Quote Post
marcio
post 6.05.2012, 14:01:11
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
To pachnie starą metodą z dawnych wersji FW które tym sposobem nie chciały wykonywać metod z "linku". Dzisiaj to już bardziej bawi szczególnie że w niektórych FW nadal jest to dostępne.

Nie wiem czym to smierdzi ale jak cos jest prywatne to musi sie wyrozniac zreszta to taki standard dla tych co pisza w python-ie


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:43