Wpis z mikrobloga

Dobry wieczór,
Szukam kogoś, kto swoim mniej lub bardziej doświadczonym okiem zerknie na coś co wyskrobałem w pythonie.
Jest to końcowy projekt kursu CS50P, nie jestem programistą, jest to mój pierwszy kurs i wiem, że na pewno nie użyłem optymalnych rozwiązań do mojego mini-projektu, zwłaszcza, że był wymyślony całkowicie przeze mnie. Gdyby ktoś miał chęć zerknąć na te 40 linijek kodu i podzielić się spostrzeżeniami, to proszę o wiadomość prywatną lub komentarz a ja się odezwę.
Pozdrawiam ()

#programowanie #python #pomoc #cs50
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@filipp248: piszę z telefonu, więc rzucę tylko (chyba) najważniejsze, co mi się rzuciło w oczy: zamiast sys.argv parsuj sobie argumenty przekazywane do pliku z pomocą biblioteki argparse. I w ten sposób możesz tam przekazać też imię, które chcesz sprawdzić. Osobiście nie lubię inputa jako argument funkcji.
  • Odpowiedz
@filipp248: Odpowiednie nazywanie rzeczy jest bardzo istotne kiedy twój program ma więcej niż 40 linii więc warto się tego uczyć też w krótszych programach. checkcsv nie robi nic z csv tylko sprawdza argumenty więc czemu nie nazwać tej funkcji checkargs? Zmienna my mogła nazywać się soldier, natomiast funkcja soldier mogła nazywać się getsoldier/readsoldier/read_soldier. Average i final również mogą nazywać się inaczej i przekazywać więcej informacji.

Aktualnie wszystkie 3 metody (nie liczę maina) korzystają z konsoli. Jeśli planowałbyś kiedyś wykorzystać te funkcje ponownie, musisz się liczyć z tym że mogą one zakończyć program. Można to zrobić tak, żeby istniały funkcje wykonujące działania (liczenie wyniku, odczytywanie csv) oraz funkcje które pracują z terminalem, korzystając z poprzednich. W ten sposób możesz wykorzystać je ponownie w innym programie bez ryzyka wyłączenia programu przez "average".

soldier
  • Odpowiedz