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
NickOver
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


@up Według mnie komentarzy powinno nie używać się w kodzie, nazwy funkcji lub metod powinny mówić wszystko.
  1. private function prepareUpdateCompany($companyName){
  2. if (!$this->isInArray($companyName){
  3. $this->companyArray[$companyId] = $companyName;
  4. return $this->sqlUpdater->updateCompanyAndGetId($companyName);
  5. } else {
  6. return array_search($aCompanyName,$this->companyArray);
  7. }
  8.  
  9. private function isInArray($companyName){
  10. return in_array($companyName,$this->companyArray);
  11. }


BTW Rozumiem że to kod piany na szybko, przed faktoryzacją, ale albo używasz notacji węgierskiej albo nie.
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: 27.12.2025 - 05:14