Wpis z mikrobloga

@mizantrol: Ty napisałeś strukturalny kod, a ten drugi jest obiektowy
W twoim kodzie brzydkie i niebezpieczne jest przekazywanie stdin na open w ten sposób, ale na potrzeby zadania to nie jest aż takie krytyczne (generalnie to problem natury bezpieczeństwa powodujesz tym)
Druga sprawa: eager loading vs lazy loading: sprawdź czym jest yield i wykorzystaj to jako feeder do funkcji weryfikującej ilość znaków w linii, gdyż splitlines() załaduje każdą linie kodu
  • Odpowiedz
@mizantrol: skrypt?
Nadal jest to programowanie strukturalne, tylko uproszczone do jednej funkcji - ciało skryptu, który zamieściłeś jest równocześnie jego jedyną fukcją wykonywaną linijka po linijce
  • Odpowiedz
@mizantrol:

To nie ma tak że dobrze czy niedobrze

Kod świadczy o Tobie i to przez niego robisz swoją wizytówkę, więc sugeruj się Clean Codem, SOLIDem, Pep8, Linterem (np pylint) i przede wszystkim testami jednostkowymi.

Ogólnie to najważnieszym elementem twojego kodu jest nie tylko to, że działa, ale równocześnie też powinien być czytelny i zrozumiały, więc potencjał na over-engineering w kodzie też powinien być niwelowany
I.....t - @mizantrol: 
 To nie ma tak że dobrze czy niedobrze
Kod świadczy o Tobie i...

źródło: comment_1656846592ORuwFRC1B4tfN100WeTGPq.jpg

Pobierz
  • Odpowiedz
@Igbt: ja właśnie nie rozumiem po co ludzie takie litanie piszą z klasami, co dla mnie jest w ogóle nieczytelne, ale to pewnie o mnie świadczy ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@mizantrol: obecnie jest tendencja do odchodzenia od OOP na rzecz struktur, albo lepiej: funkcji (programowanie funkcyjne w pythonie również jest możliwe)
Natomiast z mojej perspektywy to obiekty z typowaniem np taka bilblioteka pydantic to sztos nad sztosy w zastosowaniu do frameworka fastapi, gdyż bardzo ładnie pozwala zarządzać przepływem danych już na samym wejściu przez walidatory (oszczędza trochę błędów później)
  • Odpowiedz