Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura funkcji - nazewnictwo - zasada jednej operacji
jackraymund
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


Witam,
walczę z nazewnictwem
  1. $companyId = $this->updateCompanySetToArrayAndGetId($matchedData['company']);//wywolanie
  2. public function updateCompanySetToArrayAndGetId($aCompanyName)
  3. {
  4. $isCompanyExistInArray = in_array($aCompanyName,$this->companyArray);
  5. if(!$isCompanyExistInArray)
  6. {
  7. $companyId = $this->sqlUpdater->updateCompanyAndGetId($aCompanyName);
  8. $this->companyArray[$companyId] = $aCompanyName;
  9. return $companyId;
  10. }
  11. else
  12. return array_search($aCompanyName,$this->companyArray);
  13. }

Z zasady, jedna funkcja, jedna operacja,ten kod jest okropny, lecz zarazem nazwa tej funkcji jest okropna(pomijając tą zasadę).
Natomiast załóżmy że chciałbym zrobić to na tej zasadzie i zrobić to w miarę optymalnie.(chodzi o to, aby nie wywołać funkcji z sqlUpdater, gdy rekord znajduje się aktualnie w tablicy).

Jestem otwarty na wszelakie pomysły.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
com
post
Post #2





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

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


Ale phpdoca generuje się do opisu API przecież, a nie dla siebie żeby zaśmiecać sobie tym kod. Komentarze w normalnych IDE można zwijać i to tez nie problem. Poza tym jak już mówiłem można je łatwo usunąć. Jeśli z kodu korzystać ma ktoś inny to znacznie prościej jest mu przejrzeć coś takiego dajmy przykład SF2
http://api.symfony.com/2.0/Symfony/Compone...on/Request.html
Niż analizować coś takiego
https://github.com/symfony/symfony/blob/2.7...ion/Request.php
Gdzie dostaje 1984 linie kodu.
To że Ty będziesz pisał ładnie, nie znaczy, że jak dostaniesz czyjś kod to będzie tak samo. Jasne, że znacznie prościej jest jak nie ma ich wcale, ale mało osób trzyma sie w php jakichkolwiek zasad. Są standardy typu PSR a większość tu obecnych nigdy o nich nie słyszała itd. Więc o wiele prościej jest wygenerować sobie takiego phpdoca, niż przegladać lina po lini np te 1984 wiersze żeby poznać jego budowę, a potem jeszcze użyć (IMG:style_emoticons/default/smile.gif)

Ale ja wcale nie powiedziałem nic takiego jak Ty mówisz, sam sobie dopowiedziałeś. Kiedy pisze coś wewnętrznego i zamkniętego to wcale komentarzy bym nie potrzebował, one generowane są dla wygody pracy z IDE, ale nie problem je po zakończeniu dev usunąć.

Niemniej jednak rozumiem o co Ci w głównej mierze chodziło (IMG:style_emoticons/default/smile.gif)

Tylko z drugiej strony to ze cos jest dobre dla wiekszej ilosci przypadkow i sprawdzi sie w cpp,c#,javie itd to nie znaczy ze tamo bedzie w przypadku jezyka skryptowego. Narazie puki nie mamy wersji 7 nie ma silnego typowania. Mozliwosci na tym poziomie sa bardzo ograniczone wiec taki phpdoc ulatwia Ci zadanie bo widzisz co masz przekazac i co zwroci Ci dana metoda. Inaczej jest w jezykach wysokiego poziomu gdzie masz typowanie i bez problemu z samej deklaracji da sie wszystko wyczytac zagladajac np w cpp do samego naglowka. I tam sie to faktycznie sprawdza ale niestety nie tu.


Kolejna sprawa komentarze to nie tylko phpdoc. Masz tez adnotacje jak chociazby w sf dla routingu i template czy tez doctrine (IMG:style_emoticons/default/smile.gif)

Ten post edytował com 26.03.2015, 01:36:09
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 29.12.2025 - 08:31