Wpis z mikrobloga

#python #programowanie #codereview

Zwracam się do Was z prośbą o pomoc w uporządkowaniu kodu który naklepałem w Pythonie,

Skrypt ma odczytywać wskazany przez usera plik .csv i na jego podstawie utworzyć makro do systemu które będzie zapisane na pendrive.

jestem początkujący, skrypt działa tak jak chce w obecnej formie, docelowo chce go wypuścić w postaci pojedynczego pliku .exe (py2exe) co by jego obsługa nie wymagała uruchamiania wiersza poleceń ale chciałbym poprawić jeszcze ten kod jeśli się da.

Kod: https://pastebin.com/ZVLrzP44
Pobierz loginzajetysic - #python #programowanie #codereview

Zwracam się do Was z prośbą o ...
źródło: comment_1615315065xpCZCu2sQ58Vm4oE3KquC1.jpg
  • 4
@login_zajety_sic:
1. Linijki 17-22 - masz zduplikowaną linijkę zwracającą ścieżkę, można to zrobić mniej więcej tak
2. Jeśli chcesz połączyć stringi ze zmiennymi to używaj Pythonowego formatowania stringów - a najlepiej f-stringów.
3. Jeśli robisz operacje na ścieżkach do plików to używaj os.path.join() lub Path z modułu pathlib - one zajmą się wstawieniem slashy lub backslashy (zależnie od systemu), więc nie będziesz musiał ich ręcznie wstawiać i escape'ować.
4. Komentarze, które
@login_zajety_sic: osobiście jeszcze trochę popracowałbym tu na modularyzacją. Więcej mniejszych funkcji, dzięki czemu kod staje się samoopisowy i bardziej czytelny, a przy tym możesz unikać zbędnych komentarzy.

Dobrymi (choć nie jedynymi) kandydatami na osobne funkcje są np. bloki z linii 17-22 oraz 58-99.

Lepiej będzie też wyglądało jeśli początek wykonywania programu będzie jasno określony (oczywiście przed doSomething powinno być wcięcie, tylko wykop je ignoruje):

if __name__ == "__main__":
doSomething()
a nie