![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Prosze was o sprawdzenie klasy oraz wyrzucenie mi wszystkich błędów co jest nie tak jak być powinno. Jest nie skończona ale wszytsko działa tak jak chciałem.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Trochę szczegółów, komentarze, przykłady użycia poprosimy. Na ten moment PHP_CodeSniffer (IMG:style_emoticons/default/smile.gif)
Ten post edytował rocktech.pl 11.01.2012, 15:10:23 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
~rocktech.pl, myśle że "doc comment" sobie odpuścimy
proszę o sprawdzenie kodu czy jest to napisane w dość dobry sposób pozdrawiam
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hej właśnie komentarz chciałbym zobaczyć. Na pierwszy rzut oka domyślam się, że klasa ma klimatyzować ...
Znacznie łatwiej byłoby się połapać potencjalnemu oceniającemu gdybyś zamieścił opis, przykłady użycia oraz komentarze, które odzwierciedlają tok myślenia autora i same w sobie mogą stanowić przedmiot oceny. Pozdrawiam, jak ty się przyłożysz to inni też (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o sprawdzenie poprawności kodu oraz ew. poprawki,
Napewno jakieś błędy się znajdą ale proszę o wyrozumiałość. Ogólnie wszystko działa tak jak powinno.
Przykład użycia
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie pokazuj raportu ze Sniffera bo każdy ma inne standardy kodowania. Mnie np nie odpowiada ani Zend-owy ani Symfony2 więc jak?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
~wookieb, ogólnie chodzi mi o sprawdzenie czy jest to jakoś tak w miare napisane, oraz ew. co powinienem zmienić, poprawić przy pisaniu.
Ogólnie to co chciałem uzyskać jest zrobione, czyli wylicza mi moc klimatyzatora tak jak powinno. Ten post edytował minolone 17.02.2012, 14:26:10 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Proponuję PHPUnit.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
~rocktech.pl, jakoś nie możemy się dogadać, ja nie potrzebuje robić jakiś testów na tej klasie, tylko dowiedzieć się o tym jak jest napisana i co ew zmienić, poprawić. Jest to do użytku wewnętrznego, testami bede się zajmował w innym czasie.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hej moja wina przeczytałem
Cytat czy wylicza mi moć klimatyzatora tak jak powinno. Co do klasy ta metoda i własność i stała o tej samej nazwie są trochę mylące.
Dalej co do parametrów raczej boolean zamiast mixed?
Potem w metodzie home
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Powinieneś starać się by nazwa klasy była rzeczownikiem, a nazwy metod czasownikami - kod staje się wtedy znacznie bardziej "naturalny". W chwili obecnej Twój kod (przykładowo: $ac->people(), "klimatyzacja -> ludzie") nie ma żadnego sensu (z puntu widzenia normalnego czytania).
2. Jesteś pewien, że te wszystkie dodatki powinny być stałymi? Jestem niemal pewien, że cześć z tych wartości mogłaby się w przyszłości zmienić. 3. Nie jestem pewien co do sposobu użycia tego kodu, ale wydaje się, że jedynie konstruktor i metoda check() powinny być publiczne. 4. Używasz niezadeklarowanych właściwości obiektu (patrz: north, east). 5. Powinieneś dodać jakieś sprawdzanie poprawności przekazywanych argumentów, np. w konstruktorze (szczególnie gdy w dokumentacji podajesz mixed jako typ argumentu). 6. Nigdy nie używaj jakiś "magicznych" numerków w kodzie (patrz: if ($this->room == 1)). Zamiast nich użyj stałych, znacznie poprawia to cztelność kodu i daje możliwość jego wygodnej dokumentacji. 7. Właściwość room może przyjąć dowolną wartość, a tymczasem Ty zakładasz jedynie pojawienie się wartości 1 lub 2. Powinieneś wyrzucić jakiś wyjątek, gdy próbuje się podać inną. 8. Mimo iż PHP pozwala na zadeklarowanie i zdefiniowanie zmiennej w bloku przykładowo IF-a i późniejsze użycie tej zmiennej poza tym blokiem: Nigdy nie powinieneś tego robić. Zdefiniuj wcześniej tą zmienną: 9. Właściwości north, south, west i east powinny być chyba typu boolean? 10. Metody home() i company() (nieodpowiednie nazwy swoją drogą) wyglądają mi na dokładnie takie same z tą różnicą, że jedna operuje na stałych HOEM_*, a druga na COMPANY_*, racja? Bezproblemu zrobiłbyś z tego jedną metodę z trzecim argumentem przyjmującym obiekt/tablicę (typu wyliczeniowego w PHP niestety nie ma) z tymi stałymi. Generalnie - do całościowego przepisania. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
~Crozin, super że zainteresowałeś się moją klasą i dostałem tak spore informacje.
Ad.4 - zapomniałem usunąć z kodu, Ad.2 - Raczej zmieniać się nie będą, na obecną chwilę oczywiście, może w przyszłości gdy to rozbuduje, narazie chciałem coś napisać i dostać wskazówki co robić a czego nie. Ad.5 - Dokumentacja została wygenerowana i po prostu nie pozmieniałem, mój błąd. Ad.7 - Wartości mogą być tylko 1 lub 2, pobierane z checkbox-a Nie zostaje mi nic innego jak przepisać z twoimi wskazówkami. Pozdrawiam, Dzięki |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ad.2 - Raczej zmieniać się nie będą, na obecną chwilę oczywiście, może w przyszłości gdy to rozbuduje, narazie chciałem coś napisać i dostać wskazówki co robić a czego nie. Nawet nie chodzi o to czy się zmienią teraz czy później. Takie rzeczy z natury nie są stałymi, w dodatku nie odnosisz tutaj żadnych korzyści z ich użycia. Pewnego dnia te wartości zmienią się i będzie problem. Problem wynikający z błędnego zaplanowania. Coś jak w przypadku VAT-u, gdzie w wielu aplikacjach ludzie myśleli, że 22% to stała. (IMG:style_emoticons/default/wink.gif) Zamień to więc na normalną właściowść, a najlepiej na osobny obiekt (zbiór tych wartości to jedna właściwość, ale sama w sobie złożna z kilku innych; przy okazji punkt #10 będzie wtedy śmiesznie prosty do rozwiązania, a interfejs konstruktra znacznie się prości). Cytat Ad.7 - Wartości mogą być tylko 1 lub 2, pobierane z checkbox-a Skoro mogą być tylko dwie to taki kod powinien wyrzucić wyjątek, a tego nie zrobi. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:42 |