Mój pierwszy program w Pythonie

0

Mam tutaj konsolowy program do obsługi wypożyczeń rowerów.
Proszę o krytykę i wskazówki, co poprawić, żeby zwiększyć czytelność i poprawność kodu. Dla ludzi o mocnych nerwach:)
https://4programmers.net/Pastebin/7424 - python
https://4programmers.net/Pastebin/7425 - sql

0
  1. Zastanawiam się po co ta klasa?! Jeżeli chciałeś się popisać znajomością paradygmatu, to sorry ale nie wyszło. Jeżeli już korzystasz z klas to rób to z głową, a nie wszystko pakujesz do jednej. To nie Delphi.
  2. Ciekawi mnie również te "rekurencyjne" wywołanie metody logowanie(). Czy nie można tego menu jak człowiek walnąć w pętli while tylko 100 razy pisać self.logowanie()?
  3. Nie podobają mi się te zapytania SQL. Czy nie fajniej byłoby wykorzystać jakiś ORM?
  4. Nie podoba mi się mieszanie zapytań do bazy z interfejsem użytkownika. Ładniej byłoby gdyby kod był podzielony na warstwy. Przemyśl implementację wzorców MVP, Repository itd.
  5. Gdyby ta wypożyczalnia wypaliła i zostałbyś rowerowym gigantem, który wypożycza rowery w Polsce i na świecie, a w konsekwencji zamiast odwoływać się do lokalnej bazy musiałbyś korzystać z REST. Czy ten kod jest gotowy na taką sytuację? Czy wystarczy, że podmienisz jeden obiekt, czy może będziesz musiał go pisać od początku?
0
  1. Za dużo kodu w funkcjach (wszelkie if'y itp itd) - metoda zwroc jest totalnie przegięta.
  2. Polskie nazwy funkcji
  3. Komentarze - przy obecnym kodzie troszkę pomagają, jak napiszesz ten kod lepiej (nazwy funkcji jasno będa mówiły co robią) - komentarze będą zbędne.
  4. Niektóre funkcje zwracają niepotrzebnie całe stringi - zamiast danych (same stringi to już raczej w warstwie widoku powinny latać)
0

Obczaj sobie ten pythonowy Tool do liczenia "złożoności kodu" :). Pomaga pisać proste, TESTOWANLE funkcje. Czym mniej punktów tym lepiej :)
https://pypi.python.org/pypi/radon

0

To był projekt pod trening podstaw sqla i struktur danych. Daliście tyle fajnych wskazówek, że jeszcze sobie coś w nim rozbuduję. Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0