Open wrata opened 7 years ago
Przede wszystkim: https://www.python.org/dev/peps/pep-0008/#naming-conventions Co prawda zgodnie z nim to muszę zmienić trochę...
Co do reszty, to wiem od dawna, że pisanie kodu na sucho w PKP nie przynosi rewelacyjnych efektów, ale wciąż nie mam wiele czasu (czyli wcale) aby sie za to porządnie zabrać.
Zmienne maja być, bo będę je wykorzystywał, tzn. przerobie kod, aby pokazać MAGIC_NUMBERS.
Znowu - nie wiem kiedy.
Co do nazwy pliku i nazwy klasy: nazwy absolutnie nie muszą być takie same. Nazwa modułu może być dowolna- z modułu można tez importować dowolne elementy (definicje stałych, funkcje, klasy itd.). Cały projekt można potraktować jako paczkę (package), a nie moduł. Polecam lekturę: https://docs.python.org/2/tutorial/modules.html
W pliku pyInteligentneMiasto.py linie z ważnymi definicjami (wiersze od 30 do 37) są zbędne, bo te definicje nie są w dalszej części kodu wykorzystywane: NIC = 0 LAMPA = 1 CZUJNIK = 2 ZAPORA = 3 SYGN_KOLEJOWY = 4 SYGN_PIESZYCH = 5 SYGN_DROGOWY = 6 Lista w wierszach od 53 do 61 powinna mieć inną kolejność elementów: self.DefDevicesNames = [ 'Not implemented ;-) Yet.... ', 'Lampa uliczna', 'Czujnik przejazdu', 'Zapora kolejowa', 'Sygnalizator kolejowy', 'Sygnalizator dla pieszych', 'Sygnalizator drogowy'
] i wtedy nazwy wykrywanych urządzeń będą poprawne. W definicji funkcji device_detect (wiersze od 94 do 138) należy wprowadzić dwie zmiany (wiersze 120 do 124): elif a <= 600: # lampa uliczna (lub pusty port!) device_type.add(1) else: # nieznane urządzenie lub pusty port device_type.add(0)
Czy nazwa pliku nie musi być zgodna z nazwą klasy? Skuteczność ww. uwag sprawdziłem praktycznie dokonując modyfikacji kodu i budując przykład dla sygnalizatora drogowego.