Code review w pigułce, czyli jak zrobić to dobrze

Sprawdź, jakie elementy warto poddać ocenie podczas code review i w jaki sposób wpłynie to na poprawę jakości Twojego kodu.
https://bulldogjob.pl/articles/1340-code-review-w-pigulce-czyli-jak-zrobic-to-dobrze

#programowanie #naukaprogramowania #java #python
Bulldogjob - Code review w pigułce, czyli jak zrobić to dobrze

Sprawdź, jakie elem...

źródło: comment_1637750657tsS57ufjtW048fu2ZYE4yu.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Autor proponuje ściągać zmiany i lokalnie sprawdzać je za pomocą SonarLinta.

Pierwszą zasadą code review jest "nie trać czasu na pierdoły". Szanuj czas swój i innych.

Każdy dev lokalnie powinien mieć zainstalowanego pre-commita z odpowiednim zestawem narzędzi.

Dodatkowo
  • Odpowiedz
Hej,
Dzisiaj chciałbym się skupić na zarządzaniu pakietami w Pythonie. W dzisiejszych czasach istnieje wiele świetnych narzędzi takich jak pip, pyenv, poezja czy conda.
Chciałbym jednak zacząć od podania linków związanych z samym pipem, który jest zapewne znany każdemu, kto miał minimalną styczność z Pythonem. Pip jest dość starym rozwiązaniem (istnieje od 2008 roku) i został stworzony jako alternatywa dla easy_install. Jednak pomimo swojego wieku, wciąż jest rozwiązany i przez większość czasu jest idealnym
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@harnasiek: Jeśli to jest zadanie ćwiczące początkowe typy danych i pętle to bym zasugerował tak:
letterCounter = {}

for letter in UserString:
if letter in vowels:
if letter
  • Odpowiedz
Mirki, w przyszłym roku będę w moim korpo brał udział w projekcie digitalizacji procesu rozliczania delegacji. I tak sobie pomyślałem żeby stworzyć formularz rozliczania delegacji zagranicznych i PL, i dane zapisywałyby się w jakiejś "bazie danych" w formie tabeli lub listy. Mam narzędzia w postaci O365, i ogarniam trochę Pythona, ale to chyba przerost formy nad treścią. I myślę czy jest możliwość stworzenia takiego formularza w SharePoint/Power Automate/Power Apps? Ogarnia ktoś z
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam skrypt w pythonie, który za pomocą pandas tworzy tabele z danych zbieranych przez API, teraz chciałbym je przesłać dalej do aplikacji internetowej.
Jak to najlepiej zrobić? Na logikę, skrypt tworzy jednocześnie bazę danych (ale jaką? sqlite? mysql?), a do aplikacji we Flasku wrzucić tą bazę danych?
#programowanie #python
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@veracholera: nie do końca rozumiem 'do aplikacji we Flasku wrzucić tą bazę danych'. Generalnie baze traktuj jako osobny byt. Lokalnie zawsze mozesz postawić baze z dockera, docelowo na serwerze/chmurze. Potrzebujesz jeszcze zdefiniować jakiś jej schemat.Jak już potworzysz tabele, kolumny itd. to masz dwa wyjścia:
- Pchać dane do bezpośrednio przez skrypt, z tego co widze to pandas ma to obsłużone (https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html)
- stworzyć sobie serwis (np. we Flasku) który
  • Odpowiedz
#python #programowanie #sql #sqlserver

Piszę sobie skrypt który robi ok. 1000 insertów, w przypadku domowego laba takie zapytanie trwa chwilę ale skrypt docelowo będzie uruchomiony na produkcji gdzie nie ma tak szybkiego połączenia do bazy i chciałbym sobie zasymulować takie środowisko. W jaki sposób mógłbym zasymulować takie produkcyjne środowisko?

- skrypt w pythonie który używa pyodbc
- docker z SQL Server Express postawiony na
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

możesz za pomocą time.sleep() zasymulować czas oczekiwania na odpowiedź


@Przemosz: weź mu nie podpowiadaj lepiej, nikt w żadnej poważnej firmie tak nie robi, z asyncio tez mozesz go ciekawie wpakowac jesli tam sekwencja idki nadaje np
  • Odpowiedz
No hej.

Mam pewien problem z combem Flask + SQLAlchemy +Postgres.

Mam sobie modele zdefiniowane w SQLAlchemy:

post_tags
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kolega w projekcie ma tzn "system tests" czyli wszystkie pody sa ruszane i test runner pod wysyla zapytania do roznych endpointow i sprawdza ich odpowiedzi. Niektore z tych endpointow, na poziomie poda X, wysylaja zapytania do innych endpointow 3rd party ktorych kolega nie chce testowac. Jak najlepiej mockowac takie serwisy bez zmieniania kodu glownej aplikacji poda X ? Inaczej - jak najlepiej "przekierowac" zapytania do hostow 3rd party APIs do poda "MOCK"
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W takim setupie wystarczylby jeden mock_pod z odpowiednimi endpointami ze statycznym json.


@chrabia_bober: Moim zdaniem dużo łatwiej jest osobne mock-pody zrobić.

A te 3rd party pody są jak osiągane z X? Po nazwie? Skąd X zna nazwę? W chartach mu podajesz? No i kto je stawia? W deploymencie są?
  • Odpowiedz
Potrzebuję pomocy w użyciu kafki i avro w pythonie - podstawy. Chodzi o proste zadanie polegające na przesyłaniu i odbieraniu formatu danych w avro. Mam problem z napisaniem producera, który wysyła wiadomości.
Aby wysyłać w formacie avro muszę użyć avroproducera czy może to być kafkaproducer i w value_serializer wartośc avro.schema.parse(json.dumps(schema))) ?

#programowanie #python #kafka
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Chcę zainstalować impacket i pycrypto na starszym pythonie, ale wszystko co instaluje leci do najnowszego 3.9 i przez to nie mogę odpalić skryptów bo ten jest w starej wersji pythona. Jak w linuxie zmusić pip do instalacji na starej wersji?

#python #linux
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej.
W tym tygodniu zebrałem ciekawe artykuły poświęcone Type Hints w pythonie. Pierwsze pare linków jest takim wprowadzeniem do tematu, ale kolejne są już przynajmniej na poziomie średnio-zaawansowanym.
Mam nadzieje że komuś się to przyda :)

Zachęcam do subskrypcji! http://news.pynews.io/ (można tutaj zobaczyć poprzednie wiadomości)

Wstęp:
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Wykopek_wykopek: Dobre pytanie. Jeżeli ktoś piszę jakiegoś prostego małego cruda, to może to nie mieć sensu. Ale jak piszesz np. jakąś paczkę która będzie używana przez inne zespoły w firmie, to moim zdaniem już jest sens. Wtedy te typy są bardzo dobrą formą dokumentacji, co dane funkcje przyjmują i jak działają.
  • Odpowiedz
Cześć,
Aktualnie piszę aplikację w swoim korpo, która przy użyciu selenium łączy się do toola firmowego.
Problem polega na tym, ze gdy user zrobi aktualizację przeglądarki do wyższej wersji, to chromedriver nie jest już up-to-date i cała aplikacja nie działa.
Niestety nie mogę przed rozpoczęciem toola wymusić pobierania wersji chromedrivera tożsamej z chromem, gdyż sieć wewnętrzna blokuje połączenia wychodzące. ()
Ważne info: użytkownicy przy starcie systemu nei są do tej sieci
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
Aktualnie piszę aplikację w swoim korpo, która przy użyciu selenium łączy się do toola firmowego.


@w00nski: pierwsze pytanie to od kiedy się używa selenium do korzystania z jakichś tooli xD selenium służy do testowania e2e a nie do takich rzeczy. Jak potrzebujesz toola firmowego używać to napisz własny front i skomunikuj się z jego API, a nie używasz młotka jako grabi.
  • Odpowiedz
10 ORE => 10 A
1 ORE => 1 B
7 A, 1 B => 1 C
7 A, 1 C => 1 D
7 A, 1 D => 1 E
7 A, 1 E => 1 FUEL
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zwei: nie rob tego regexem, szkoda zachodu. zrob najpierw split po '=>', lewa strone znowu zrob split po ','. To co zostanie zrob split po spacji i bedziesz mial juz ladnie zrobione.
  • Odpowiedz
Mam taki przypadek, że potrzebuje przenieść dane z Tabeli excelowej na templatke. Dane z pojedyńczego wiersza powinny zapełnić templatke. Ma ktoś pomysł jak to najlepiej i najszybciej zrobić w moim wypadku nie ma znaczenia czy to będzie przez skrypt(python, java) czy przez zewnętrzny program. Wierszy mam około 200 więc ręczne przenoszenie jest czasochłonne.
#python #java #excel
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach