Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak programujesz?
Forum PHP.pl > Inne > Hydepark
MatKus
Witam

Pzymierzam się do wypuszczenia publicznie pewnego kodu, ale zanim to zrobię zastanawiam się nad sporym refaktoringiem, żeby zachęcić ludzi do jego używania, żeby był dla programistów wygodniejszy. Dlatego chciał bym prosić was o wypełnienie krótkiej ankiety (tylko 7 pytań) odnośnie stylu programowania.

https://docs.google.com/forms/d/1VZOJiEnEDS...-43BIA/viewform
Crozin
Dla PHP wypracowały się już konwencje dot. nazywania plików/zmiennych/funkcji itp.: https://github.com/php-fig/fig-standards/tr...master/accepted
MatKus
Tak, znam PSR i mam co do niego pewne wątpliwości (szczególnie tu chodzi o PSR2 i PSR3)
Z jednej strony, znormalizowanie jest lepsze, niż brak normalizacji, bo bez niego robi się bałagan i nikt nie może nad tym zapanować.
Z drugiej, standard PSR ustalony jest przez ludzi, którzy zosstali w pewien sposób uformowani. Kiedy człowiek pracuje nad jakimś projektem, przyjmuje z niego przyzwyczajenia i chce je stosować przy innych projektach.
Dlatego szczególnie zależy mi na odpowiedziach odnośnie CamelCase i snake_case, a konkretnie jak piszesz, a co jest czytelniejsze, bo to nie jest tożsame.

Prawdę mówiąc, jak rozmawiałem ze znajomymi, to chociaż 90% stosuje CamelCase, to jednocześnie 80% wolała by czytać kod w snake_case. Po prostu ludzie stosują SnakeCase, bo inni go stosują. Wiem, że dzięki temu kod jest bardziej znormalizowany i przez to osoba obca łatwiej się w nim odnajduje, ale jak się coś większego robi od zera, to można zastanowić się nad zmianą.
!*!
Cytat(MatKus @ 2.06.2014, 09:43:55 ) *
Dlatego szczególnie zależy mi na odpowiedziach odnośnie CamelCase i snake_case, a konkretnie jak piszesz, a co jest czytelniejsze, bo to nie jest tożsame.


Dlatego powstało PSR które to wyjaśnia, tu nie ma miejsca na interpretacje i dowolne wykorzystanie.
MatKus
Cytat(!*! @ 2.06.2014, 10:05:09 ) *
Dlatego powstało PSR które to wyjaśnia, tu nie ma miejsca na interpretacje i dowolne wykorzystanie.

Um. Możesz mi wyjaśnić, w którym miejscu PSR odpowiada na pytanie, co dla Ciebie albo dla mnie konkretnie jest czytelniejsze?

Standardy nie zawsze są najlepsze dla wszystkich. Zwykle starają się być najlepsze dla większości, ale nie da się zrobić czegoś, co jest najlepsze do wszystkiego. A tym bardziej, jeśli chodzi o coś tak subiektywnego, jak czytelniść.
To trochę jak z doborem kolorów. Naukowcy zgadzają się, że najbardziej czytelne jest czarne na białym, a jednak jakoś programiści często wolą ciemne tło w swoim edytorze. Tyle, że w tym wypadku każdy może to sobie poustawiać po swojemu i nie ma to wpływu na pracę innych osób, a konwencja nazw ma taki wpływ.
Crozin
Cytat
Um. Możesz mi wyjaśnić, w którym miejscu PSR odpowiada na pytanie, co dla Ciebie albo dla mnie konkretnie jest czytelniejsze?
No przecież oczywistym jest, że każdy może mieć jakieś indywidualne preferencje... Standardy/konwencje są dobre i stosowanie się do nich samo w sobie zwiększa czytelność - bo kod jest pisany w sposób do którego już jest się przyzwyczajonym. W skrócie: nie ma się tutaj nad czym zastanawiać: pisz wg standardów.
pabito
+ Kodu nie piszemy tylko dla siebie, ale także dla kolegów którzy będą go później wykorzystywać. Dlatego warto trzymać się PSR
fizzlebubble
Cytat
Standardy nie zawsze są najlepsze dla wszystkich. Zwykle starają się być najlepsze dla większości, ale nie da się zrobić czegoś, co jest najlepsze do wszystkiego. A tym bardziej, jeśli chodzi o coś tak subiektywnego, jak czytelniść.


To niech mniejszość męczy się dla dobra większości. Masz co do tego jakieś wątpliwości?
MatKus
Cytat(Crozin @ 2.06.2014, 10:48:53 ) *
No przecież oczywistym jest, że każdy może mieć jakieś indywidualne preferencje... Standardy/konwencje są dobre i stosowanie się do nich samo w sobie zwiększa czytelność - bo kod jest pisany w sposób do którego już jest się przyzwyczajonym. W skrócie: nie ma się tutaj nad czym zastanawiać: pisz wg standardów.

W moim przypadku jest to o tyle niewygodne, że mam chyba dysleksję albo cos z nią powiązanego, a konkretnie mam problem z rozróżnianie małych i dużych liter.
O ile czytam powoli, nie ma problemmu. ale kiedy czytam szybko, to napisPisanyCamelCaseCzyliDuzeLiteryPierwszychLiterSłów wygląda tak samo, jak napispisanycamelcaseczyliduzeliterypierwszychlitersłów. Ale wiem, że należę do bardzie niewielkiego ułamka społeczeństwa (pewnie mniej, niż 5%, a może i mniej, niż 1%) , dlatego na codzień w projektach, które piszę wspólnie z kimś, stosuję CamelCase, "bo tak trzeba", zaś w projektach prywatnych, których nie mam w planie udostępniać, wolę snake_case.

Mimo to przed udostępnieniem kodu postanowiłem sprawdzić tą ankietą, co inni o tym myślą. Bo liczę na to, że może ktoś się do projektu później dołączy a przynajmniej skorzysta, więc zależy mi na tym, żeby inni się w tym połapali. Ale mimo to moje prywatne upodobania też są dla mnie ważne, więc jestem w rosterce smile.gif

Po za tym z czystej ciekawości się zastanawiam, czy tylko dla mnie czytelniejsze jest bycie poza standardami. Bo gdybym był przekonany do jedynie słusznego sposobu (obojętnie którego) to bym nie pytał smile.gif No ale obaczymy, pewnie jednak pójdzie to jako CamelCase "dla dobra ogółu" wink.gif
Crozin
Wybacz, ale jesteś w takim razie bardzo specyficznym "przypadkiem" - jeżeli chcesz pisać kod dla innych będziesz musiał po prostu dostosować się.
!*!
Nie musisz się trzymać PSR, stylów zapisu jest wiele np. prawie każdy framework ma swój. PSR nie jest idealne, ba nawet jest ze sobą sprzeczne i wzajemnie się wyklucza, co już może sugerować że to jest po prostu głupie ;) ale przyjęło się za standard, bo nikomu wcześniej nie chciało się nad tym myśleć, a już na pewno nie miał siły przebicia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.