Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Symfony a standardy kodowania.
Fred1485
post 4.04.2016, 16:35:45
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


Pytanie bardziej do programistów zajmujących się Symfony lecz chętnie usłyszę także opinię innych.
Rzecz ma się o standardy kodowania w Symfony. Według tego wpisu twórcy SF przyjmują pewne standardy kodowania i zalecają ich używanie gdy korzystamy z tegoż frameworka.

http://symfony.com/doc/current/contributin.../standards.html

Ogólnie rzecz biorąc większość "rzeczy" jest w miarę uniwersalna, toteż używana także przeze mnie, ale jest kilka punktów, które mnie nurtują, np.

- używanie tzw. Yoda Conditions - ja nie mogę się przyzwyczaić to tego typu sprawdzania, wg. mnie normalny sposób jest o niebo lepszy i bardziej logiczny. Czytałem gdzieś, że powinno się unikać tego standardu

- dodawania przecinka po elemencie tablicy choćby był on ostatni - także wg. mnie głupie, i nie wiem w czym mogłoby mi pomóc.

Pytanie więc, czy programując w SF trzeba na siłę starać się używać ich zamysłów, czy w pracy jeśli ktoś programuje w SF wymagane jest takie "sztywne" ustosunkowanie się do nich. Czy olewając niektóre zamysły i zamieniać na swoje (chodzi mi głównie o dwa podpunkty wyżej) popełniamy jakiś wielki grzech?


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post
mrc
post 4.04.2016, 16:56:50
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 27
Dołączył: 22.09.2008
Skąd: Tarnów

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


Jako programista, masz własny rozum więc pisz wg swoich standardów. Jeżeli będą złe, to będziesz zbierał flejm.

Yoda conditions są o tyle dobre, że jeżeli zapomnisz się i użyjesz = w warunku zamiast ==, to zgłosi Ci błąd zamiast źle działać.

Przecinek na ostatnim elemencie arraya jest po to, abyś dodając kolejny element po prostu nacisnął enter i dodał kolejny element. Brak przecinka pomiędzy elementami tablicy jest spowodowany tym, że nie dałeś na końcu arraya przecinka, a dodając następny element nie zadbałeś o to, by za poprzednim elementem on był.

Osobiście, nie używam Yoda conditions ze względu na czytelność kodu dla pozostałych (i w sumie dla mnie). Przecinka na końcu arraya używam.


--------------------
Go to the top of the page
+Quote Post
Crozin
post 5.04.2016, 07:14:33
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Na dobrą sprawę kod Symfony z Twoim kodem nie ma styczności, więc bez znaczenia jaki styl sobie obierzesz. Ten forsowany przez Symfony jest całkiem sensowny, jednak również ma swoje ułomności - które wymieniłeś.

1. Przecinek po ostatnim elemencie był zawsze dla mnie kompletnie niezrozumiały. Nie daje on w praktyce absolutnie niczego, nie jest też jakiś "ułatwieniem" dla automatów modyfikujących kod. Innymi słowy jest kompletnie zbędny.
2. Yoda Conditions... zamiast z takiego potworka korzystaj zawsze (może poza wyjątkowymi sytuacjami) z operatora identyczności (===) zamiast równości (==). Zmienne i tak zawsze powinny mieć jeden znany typ. === już nie da się pomylić z =, zresztą tego typu wpadka i tak momentalnie Ci się objawia niedziałającym systemem/testami.
Go to the top of the page
+Quote Post
vokiel
post 5.04.2016, 08:32:07
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Osobiście też nie przepadam za Yoda.

Przecinek po ostatnim elemencie jak najbardziej stawiam, i to z kilku powodów.
Po pierwsze, dodanie nowego elementu powoduje zmianę tylko jednej linii w repozytorium zamiast dwóch.
Po drugie jest wygodniejsze w pisaniu. Niby to tylko jakieś mikro-optymalizacje pracy, ale jednak.
Np przy duplikowaniu linii i zmianie wartości nie trzeba wracać do poprzedniego wiersza i dodawać tam przecinka.
Albo przy zamianie kolejności elementów nie będzie przypadku, że ten z ostatniego wiersza bez przecinka wskoczy gdzieś wyżej i spowoduje błąd. Oczywiście IDE to wychwyci, testy też, ale jakby się trzymać braku przecinka w ostatniej linii, to trzeb dodać ten brakujący, usunąć za ostatnim elementem. A po ponownej zmianie kolejności znów to powtarzać. IMHO trochę bez sensu, puste działania nic nie wnoszące.


--------------------
Go to the top of the page
+Quote Post
uirapuru
post 5.04.2016, 10:01:52
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

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


nie tylko standardy kodowania w Symfony sa niestandardowe. mają pare praktyk programistycznych, za którymi osobiście nie przepadam i pewnie więcej ludzi myśli podobnie, osobiście wywaliłbym dziedziczenie, gdzie się tylko da, widocznie nie wszedzie się dało smile.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: 24.04.2024 - 07:28