Symfony a standardy kodowania. |
Symfony a standardy kodowania. |
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? -------------------- |
|
|
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. -------------------- |
|
|
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. |
|
|
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. -------------------- |
|
|
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
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 04:24 |