Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kilka pytań o PSR
sadistic_son
post 15.01.2023, 12:55:19
Post #1





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cześć, czytam sobie PSR i mam kilka pytań. Nie do końca rozumiem poniższe rzeczy, wyjaśnijcie pls:

1. "All PHP files MUST use the Unix LF (linefeed) line ending only.". Czyli właściwie jak mam zakończyć plik, skoro ani pusta linią, ani znacznikiem ?> więc jak? Ostatnią linijką instrukcji?

2. "Blank lines MAY be added to improve readability and to indicate related blocks of code except where explicitly forbidden.". Napisno, że oprócz tam gdzie jest to zabronione, ale gdzie jest zabronione to już nie podano. Czyli gdzie? W jakich przypadkach nie należy, czy wręcz nie wolno, wstawiać pustych linii?

3. "In nullable type declarations, there MUST NOT be a space between the question mark and the type.". Dobrze rozumiem, że ?int czy ?string to typ zmiennej 'nullable' ? Czyli, że może być albo to co po znaku zapytania np. ?string albo null jako wartość i nic innego, tak? Wiem nospor, że pisałeś juz o tym, ale wtedy nie wyjasniłeś czy może być tylko string lub null dla ?string, czy może być to string lub np int.

4. Co oznacza & tutaj? Czy chodzi o "args and kwargs" tak jak w Pythonie, tj. o nieokreśloną liczbę argumentów (parametrów)?
  1. public function functionName(?string $arg1, ?int &$arg2): ?string
  2. {
  3. return 'foo';
  4. }


5. Pytanie do doświadczonych delevoperów, zwłaszcza w rekrutacji. Czy jesli ktoś (kandydat) łamie gdzie nie gdzie PSR-12 np. tak jak poniżej, to jest to nieakceptowalne i napiętnowane, czy jedynie wymagające zwrócenia uwagi? Czy w ogóle PSR PSRem a życie życiem?
  1. if ($expr1) {
  2. $a=5;
  3. }
  4. elseif ($expr2) {
  5. // elseif body
  6. }
  7. else
  8. {
  9. // else body;
  10. }

Dzięki.

Ten post edytował sadistic_son 15.01.2023, 12:57:07


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 15.01.2023, 13:24:01
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




ad1) No tak jak podali tam w przykladzie, jesli to klasa to zawsze }

ad2) No np. na poczatku ciala funkcji nie moze byc zadnej pustej linii

ad3) No tak, co tu wyjasniac. Skoro massz ?string to jakim cudem tam chcesz dac INT? wyraznie napisane string i null.

ad4) Przekazanie zmiennej przez rerefencje. W praktyce oznacza to ze funkcja moze zmienic wartosc zmiennej i ta zmiana bedzie nadal widoczna poza funkcja

ad5) Wszystko zalezy od teamu do jakiego trafisz. Ja osobiscie nie skreslam osob, ktore nie uzywaja PSR. Jesl taka osoba do nas dolaczy, to po pierwszych 10 code reviews bedzie juz pisala bez zastanowienia w zgodzie z PSR.
No chyba ze ktos startuje na seniora i jesli nadal nie uzywa PSR to sie czerwona lampka swieci


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 15.01.2023, 13:24:20
Post #3





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


1. https://www.cs.toronto.edu/~krueger/csc209h...ne-endings.html
2. Wypisane jest w poszczególnych blokach
3. Nie może być spacji między ? A typem
4. https://www.php.net/manual/en/language.references.pass.php

Każdy nowoczesny edytor ma autoformatowanie. Można też przed commitem poustawiać hooki albo gdzieś na poziomie obsługi gita.


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 15.01.2023, 18:56:04
Post #4





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(viking @ 15.01.2023, 13:24:20 ) *
Każdy nowoczesny edytor ma autoformatowanie. Można też przed commitem poustawiać hooki albo gdzieś na poziomie obsługi gita.
Tak, używam Visual Studio Code. Po doinstalowaniu wtyczki elegancko formatuje większośc rzeczy. Właśnie jeśli chodzi o puste linie to tutaj nie skutkuje za bardzo. Ale ogólnie to jestem z niego zadowolony.

Dzięki Panowie za odpowiedzi.

Ten post edytował sadistic_son 15.01.2023, 18:56:33


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
com
post 18.01.2023, 17:32:20
Post #5





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


dziś to już https://www.php-fig.org/per/coding-style/ nie PSR-12 wink.gif
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: 28.04.2024 - 03:22