Poprawki do repo

Wątek przeniesiony 2023-03-06 15:44 z Python przez kq.

0

Dzień dobry.
Byłby ktoś tak łaskaw i rzucił okiem na moje repo, i powiedział co jest do poprawy. Zrobiłem tak ostatnio na facebooku i wszyscy się śmiali. Najbardziej interesuje mnie myshop_project.
https://github.com/tomikoder
God bless

0

Z czego konkretnie się śniali?

0

Że jest jakiś straszny bajzel, już sam nie pamiętam. Że coś tam w kodzie w Django jest napisane niezgodnie z jakimiś standardami, commity są nazwane commit1 itd. Jakiś koleś napisał mi jakiś elaborat, w którym wszystko wypunktował, i powiedział, że to g**no. Niestety post skasowałem, bo miałem dość hejterów. Dlatego proszę was o pomoc czy coś w tym jest. Jeszcze proszę o zerknięcie na mój projekt. Nie zajmuje się frontem więc nie skaluje się dobrze do urządzeń mobilnych.
https://tomekj344.pl/

Jeszcze zapytam czy serio pracodawcy przywiązują taką wielką rolę do tego jak coś jest poukładane w repo ? Czy to trochę nie przesada. Wystarczy mi powiedzieć w 5 minut jak mam coś robić, bo nie miałem pojęcia, bo nigdy nie pracowałem komercyjnie.

0

Jakieś odstepy/paddingi koniecznie trzeba dodać:

screenshot-20230305112952.png

  • Linki trochę w dół od niebieskiej belki.
  • Ikonki linków zbyt blisko tekstu.

Coś się rozjechało (link więcej nachodzi na linię):

screenshot-20230305112857.png

0

Dzięki za opinie, ale mnie front nic a nic nie obchodzi. Mnie ciekawi back-end. Pisanie tego w Boostrapie uważałem za mękę i było bardzo nudne.

3

https://github.com/tomikoder/myshop_project/blob/master/myshoop/pages/models.py

class Book_Review(models.Model):
    html1 = """<p id="%s"><span class="font-weight-bold">Data:</span> %s</p>\n<p><span class="font-weight-bold">Autor:</span>  %s %s</p>\n<h5 class="title">%s</h5>\n<p class"subject">%s</p>\n<p class='pb-6'><small>%s uznało tę recenzję za przydatną.</small>&nbsp;<small><a href="#%s">Link</a></small><hr></p>"""
    html2 = """<p id="%s"><span class="font-weight-bold">Data:</span> %s</p>\n<p><span class="font-weight-bold">Autor:</span>  %s %s</p>\n<h5 class="title">%s</h5>\n<p class"subject">%s</p>\n<p class="index d-flex" index="%s"><a href='' id='report'>Zgłoś</a>&nbsp;&nbsp;<a href='' id='like_review' isliked="0">Polub</a><i class="far fa-thumbs-up pt-1" style="color: Dodgerblue;"></i><small class="ml-auto"></p>\n<p class='pb-6'>%s uznało tę recenzję za przydatną.</small>&nbsp;<small><a href="#%s">Link</a></small><hr></p>"""
    html3 = """<p id="%s"><span class="font-weight-bold">Data:</span> %s</p>\n<p><span class="font-weight-bold">Autor:</span>  %s %s</p>\n<h5 class="title">%s</h5>\n<p class"subject">%s</p>\n<p class="index d-flex" index="%s"><a href='' id='report'>Zgłoś</a>&nbsp;&nbsp;<a href="" id='like_review' isliked="1">Lubisz</a><i class="fas fa-thumbs-up pt-1" style="color: Dodgerblue";></i><small class="ml-auto"></p>\n<p class='pb-6'><span class=rev_num_likes>%s</span> uznało tę recenzję za przydatną.&nbsp;<a href="#%s">Link</a></small><hr></p>"""
    html4 = """<p id="%s"><span class="font-weight-bold">Data:</span> %s</p>\n<p><span class="font-weight-bold">Autor:</span>  %s %s</p>\n<h5 class="title">%s</h5>\n<p class"subject">%s</p>\n<p class="index d-flex" index="%s"><a href="" id="remove">Usuń</a>&nbsp;&nbsp;<a href="" id="edit">Edytuj</a></p>\n<p class='pb-6'><small>%s uznało tę recenzję za przydatną.</small>&nbsp;<small><a href="#%s">Link</a></small><hr></p>"""

Do takich rzeczy pisze się plik CSS i szablony. Nie pakuje się czegoś takiego do kodu aplikacji.

Poza tym słusznie zwrócili Ci uwagę na to jak masz poukładane w repo:

Jeszcze zapytam czy serio pracodawcy przywiązują taką wielką rolę do tego jak coś jest poukładane w repo ? Czy to trochę nie przesada. Wystarczy mi powiedzieć w 5 minut jak mam coś robić, bo nie miałem pojęcia, bo nigdy nie pracowałem komercyjnie.

Pracujesz nad projektem z innymi ludźmi. Oni nie wiedzą co siedzi w Twojej głowie. Musisz nazywać commity tak jak chciałbyś, żeby inni współpracownicy je nazywali, a nie: Parę zmian, Mały bug., Dodałem parę rzeczy., Dodałem parę katalogów..

Dzięki za opinie, ale mnie front nic a nic nie obchodzi. Mnie ciekawi back-end.

Powinien Cię obchodzić. Lekarz potrafi zrobić zastrzyk, pomimo tego, że zazwyczaj zleca pielęgniarce wykonanie go.

0

Ja się tak bawiłem kodem. Gdybym pracował z ludźmi to bym wiedział ;) Front dostarcza swój kod i ja go tylko łącze z backendem i tyle. Tych commitów już nie naprawię bo nie chce mi się sprawdzać, co robiłem XD. Poza tym to nie jest jakiś skomplikowany projekt. Dzięki za merytoryczną opinię. Ale jak na pierwszy projekt w backend jak to wygląda ? Ma proste full tex search, API z Ajaxami, modale.

1

Zszywasz pacjentowi dłoń i się go pytasz: „wiem, że trochę krzywo i w ogóle, ale jak na pierwsze szycie to jak to wygląda?”

1

No właśnie... My tu mamy oceniać jak powinien wyglądać projekt ostatecznie, a nie klepać Cię po plecach i mówić "dobra robota jak na pierwszy raz, następny projekt magicznie będzie lepszy".

0

A nie wystarczy jako jakieś demo, by pokazać np że umiem Django, bazy danych, API JS. Nie wiem czego oczekiwać od juniora. Jestem bardzo ciekaw. Na tym projekcie szlifowałem umiejętności, robiłem go kompletnie sam. Jakbym coś napisał w pracy to wystarczyło by ktoś zrecenzował to i bym zrobiłbym poprawki.

twoj_stary_pijany napisał(a):

Zszywasz pacjentowi dłoń i się go pytasz: „wiem, że trochę krzywo i w ogóle, ale jak na pierwsze szycie to jak to wygląda?”

Mówisz o układzie strony ? Od backenda nie wymaga się takich rzeczy. Bardziej od full stack developera, do którego nie aspiruje. Ja UI nie znoszę, mogę napisać skrypty coś wymagającego logikę, ale nic z wyglądem. To nie są jakieś wielkie rzeczy. Kod aplikacji działa poprawnie. Rozumiem, ze ważny się porządek. Ja zawsze staram się pisać kod prosto.

0

Junior tylko z nazwy brzmi delikatnie. W praktyce powinien być na tyle ogarnięty, żeby wykonywać powtarzalne taski za seniora...

Jakbym coś napisał w pracy to wystarczyło by ktoś zrecenzował to i bym zrobiłbym poprawki.

Jak będziesz pracował nad projektem, to Twój współpracownik nie będzie połowy dnia spędzał na recenzowaniu Twoich poczynań.
Musisz sam zdobyć jakąś wstępną wiedzę. Mniej się liczy efekt, czy rozległość systemu nad którym pracujesz, a bardziej sposób w jaki wykonujesz swoje zadania.
Bo każdy początkujący jest w stanie nabazgrać większy system, nad którym nie da się sprawnie pracować na dłuższą metę.
Dobrych praktyk nie nabędziesz w jeden tydzień i na Twoje miejsce juniora znajdzie się masa ludzi, którzy mają mniejsze braki.

7

Pytasz czy to co pokazałeś wystarczyło by na juniora? Technicznie: może.

Ale prawdopodobnie odsiałbym Cię na umiejętnościach miękkich za te agresywne teksty w stylu "Rozumiesz?" albo "Powiedz mi skąd ja mam to wiedzieć ?". Miałem takich juniorów, nigdy więcej.

2

https://github.com/tomikoder/simple_test_web_app_PYTHON

  1. zacommitowałeś i ujawniłeś hasło, tak się nie powinno robić. Nawet jak to jakaś testowa baza, to po czymś takim będziesz raczej spalony na rekrutacji, jak ktoś to zauważy.
  2. commity są po polsku. Powinny być po angielsku, bo nie każdy programista musi być Polakiem
0

Wiem, że czegoś takiego nie wolno , w sklepie internetowym czegoś takiego nie zrobiłem. XD Ten projekt to taka prosta aplikacja w starym stylu robiona bez webowych framerwoków.

@Spine
@twoj_stary_pijany
Spine stary mnie olał. Napiszesz mi krótko zwięźlo wypunktowaną listę co do poprawek. Dzięki.

1
pythonowiec napisał(a):

Spine stary mnie olał. Napiszesz mi krótko zwięźlo wypunktowaną listę co do poprawek. Dzięki.

A co ja Twoja sekretarka?
Wypisz sobie na podstawie postów z tego wątku...

5

Zauważyłem tutaj przynajmniej 3 tematy:

  1. Prawdopodobnie jesteś młody i nie pracowałeś nigdy w IT albo się jeszcze nie przejechałeś oraz zachowujesz się dosyć dziecinnie.

Ktoś kilka wpisów wyżej próbuje Ci pisać naprawdę wartościowe rady i poświęca na to czas. W tym momencie Ty to olewasz oraz piszesz "tak, tak" i potem tego nie naprawiasz. Podsumowując: dostajesz radę, a następnie mówisz, że nie będziesz tego robił i znowu to robisz. W przypadku gdybyś sam się utrzymywał i to byłaby Twoja jedyna praca to za drugim razie Cię wyrzucają z roboty i się z Tobą nie bawią, a te teksty w stylu "Peace" to możesz zachować dla znajomych z ławki w szkole.
Fora nie powinny być zabronione. Jak sam widzisz na FB miałeś problem i przyszedłeś tutaj. Teraz znowu powtarza się ta sama sytuacja.
Czy problemem są ludzie z FB oraz my czy jednak Ty? Jeśli kilka osób mówi Ci gdzie leży problem, a Ty to zbijasz i znowu jesteś uparty to może Ci być ciężko w dalszym życiu.

  1. Chcesz się dostać na staż i zrobiłeś repozytorium, żeby tylko było.

Zadziwię Cię, ale repozytoriów nie robi się po to, żeby się pochwalić. Tworzy się je, żeby pokazać jakie masz nawyki w pracy. Prawdopodobnie jak trafisz do normalnej pracy też będą tam korzystać z GitHuba i nie będzie czasu na zgadywanie co autor commita miał na myśli. Zapewne HR Cię prześwietli zerknie tylko czy jest GitHub i odpali sobie Twoją przykładową stronkę. Spojrzy i powie: "xD". Aktualnie jest masa stron oraz narzędzi, która robi ładny front automatycznie. Rozumiem, że dla Ciebie liczy się backend i robisz front jako dodatek, ale tu też chodzi o podejście do pracy. Potem ktoś techniczny spojrzy na to repozytorium i widzi, że coś było robione na szybko tylko po to, żeby się załapać na staż.

Ponownie wracamy do tematu wiesz, że czegoś się nie robi, a to robisz. Mówię tutaj o commicie hasła. Myślisz, że na produkcji też sobie tak strzelisz? Prawdopodobnie w najgorszym scenariuszu załapiesz się na incydent bezpieczeństwa i Cię zwolnią albo będziesz mieć nieprzyjemności prawne z tego powodu. Dlatego ważne jest, żeby już na początku stosować dobre praktyki. To nie jest tak, że teraz robisz tak sobie, a potem będzie pięknie. Poczytaj sobie teraz o BFG Repo-Cleaner.

  1. Masz nadzieje, że ktoś bardziej doświadczony da Ci listę co zrobiłeś źle, a Ty to poprawisz i wystarczy na staż.

Świat tak niestety nie działa. Robienie byle jak tego co Ci ktoś każe dobrej przyszłości nie wróży. To jest klasyczny przypadek szkolny.
Wystarczyłoby kilka dni więcej i to wyglądałoby jak porządny sklep, ale prościej powiedzieć, że gość od frontu to zrobi.
Lepiej jakbyś zrobił jeden projekt porządnie niż cztery słabe.

@twoj_stary_pijany: Podziwiam za cierpliwość.

0

@pythonowiec: Widziałem komentarz tego kolesia. Opisał ci bardzo dokładnie co jest nie tak z twoim repo,
nie pamiętam żeby użył słowa "g**no", ale jeżeli tak zrobił to było to faktycznie zbędne. Niemniej nie rozumiem
dlaczego nie zastosowałeś się do jego rad.
Poza tym, dajesz swoje repo do recenzji, ale na krytykę - nie mówię tu o bezsensownej krytyce, tylko konstruktywnej - reagujesz jak na atak
zamiast przyjąć porady i się do nich zastosować.
Tak, ludzie patrzą na jakość pisanego kodu, co z tego że zakodujesz super-hiper-ultra wymyślny kod skoro będzie on
totalnie nieczytelny i nieutrzymywalny?

0

Ja tylko tłumaczę że nie wiedziałem, że tak się nie robi. XD To są drobne rzeczy. Sam kod jest dość dobrze napisany.

1

@pythonowiec: Po to pytasz o radę innych, aby dowiedzieć się rzeczy o których nie wiedziałeś, nie musisz
się z tego tłumaczyć.

1

Jeszcze zapytam czy serio pracodawcy przywiązują taką wielką rolę do tego
...
Ja się tak bawiłem kodem. Gdybym pracował z ludźmi to bym wiedział

Protip: jeśli chcesz pracować z ludźmi, to zachowuj się tak, jakbyś już pracował.
Chcesz być profesjonalnym programistą, to stosuj profesjonalne praktyki.

Czyli "dress for the job you want not the job you have".

Dzięki za opinie, ale mnie front nic a nic nie obchodzi. Mnie ciekawi back-end. Pisanie tego w Boostrapie uważałem za mękę i było bardzo nudne.

Jak front cię nie obchodzi, to po co go piszesz? Przecież można zrobić projekt na backendzie bez frontendu. Np. mógłbyś zrobić jakieś API, które by tylko wystawiało JSON zamiast tworzyć widoki w HTML.

Ale o ile rozumiem, że można mieć preferencje (w szczególności to twoje projekty, więc możesz sobie je robić jak chcesz, nawet z byle jakim frontendem), to rzucanie tekstów front nic a nic nie obchodzi. Mnie ciekawi back-end. Pisanie tego w Boostrapie uważałem za mękę i było bardzo nudne. jest nieprofesjonalne i o ile tu na forum sobie tylko luźno dyskutujemy, to jak rzucisz taki tekst na rozmowie to co pokażesz? To, że możesz być konfliktowy. W profesjonalnej pracy często trzeba się komunikować z innymi ludźmi i właśnie ma cię obchodzić wszystko i nic nie powinno być nudne, bo nawet jeśli to nie ty będziesz pisać ten frontend, to możliwe że będziesz musiał o tym dyskutować z innymi i komunikować się z osobami, które to robią.

2
pythonowiec napisał(a):

Ja się tylko tłumacze dlaczego tak robiłem, bo nigdy nie pracowałem zawodowo w IT. Teraz już wiem że tak się nie robi, bo nie którzy pracodawcy to jacyś perfekcjoniści i upierdalają na bzdetach, zamiast powiedzieć jest Ok ale nie rób tak.

Nikt Ci tak nie odpowie. Razem z twoją aplikacja dostanie 50 innych, lepszych. Jak myślisz, kogo odrzuci? Dostaniesz feedback że nie spełniasz wymogów i tyle.

Jak przeczytałem Twoje słowa ze usunales post na FB bo masz dość hejterow to aż się zaśmiałem. Czyli co, postujesz swój kod publicznie, prosisz obcych o krytykę a jak się okazuje że jesteś na poziomie maks stażysty to tupiesz noga, usuwasz wątek i idziesz na inne forum (tutaj) licząc że poklepiemy Cie po plecach?

Schowaj swoje ego do kieszeni, zastosuj się do rad uzyskanych tutaj i na FB (sięgnij do pamięci) i zmień swoje podejście.

A jak nie chcesz pracować z frontem to następnym razem nie rób repo z UI tylko samo REST API (skoro webówka)

8

@pythonowiec

My nie jesteśmy w stanie wskazać żadnych technicznych mankamentów w kodzie bo Twój kod jest po prostu świetny. Twoje podejście do pracy i feedbacku jest podręcznikowe. Rób dalej to co robisz. Good job :)

0
twoj_stary_pijany napisał(a):

@pythonowiec

My nie jesteśmy w stanie wskazać żadnych technicznych mankamentów w kodzie bo Twój kod jest po prostu świetny. Twoje podejście do pracy i feedbacku jest podręcznikowe. Rób dalej to co robisz. Good job :)

Co powiesz na challenge? Napisz mi w prostych słowach jak działa quicksort.

1
pythonowiec napisał(a):

Co powiesz na challenge? Napisz mi w prostych słowach jak działa quicksort.

Co powiesz na challenge w 3 krokach?

  1. Napisz konstruktywną krytykę 2 konkretnych rzeczy w swoich obecnych projektach udostępnionych na tym repo, które są w Twojej ocenie babolami największego kalibru wymagającymi poprawy.
  2. Zrób to w formie, którą odebrałbyś jako życzliwą radę, a nie hejt drażniący tak bardzo, że należy go usunąć, niczym we wspomnianym wątku na FB.
  3. Popraw je, zacommituj i daj znać.
3

Przeczytałem cały wątek wraz z komentarzami i przypomniało mi się coś
Kiedyś przyszedł do nas na rozmowę o pracę pewien student. Był bardzo pewny siebie, uważał się za "debeściaka" i co to on nie umie. Na rozmowie odpowiadał w podobny sposób jak autor, że czegoś tam nie zrobił, bo to kod zabawa, bo on idzie na backend, bo coś tam mu się nie podobało itp.
I to samo widzę w autorze. @pythonowiec podałeś linka do szachów. Wszystko masz w jednym pliku. Idealne miejsce, aby zrobić katalog z figurami, zaś w nim dla każdego z pionków osobny plik. Robisz jakieś dziwne rzeczy w metodzie list_available_moves w klasie Figure, zamiast w tej klasie(która powinna być klasą abstrakcyjną) zrobić metodę do ruchu i nadpisywać ją implementacją odpowiednią dla każdego z pionków (@opiszon o tym wspominał). read.me? Powinno być README.md. Commit1, Commit8. Zdażyło mi się sprawdzać repo kandydatów o pracę. Patrzyłem na nazwę commitów.
ChessException_5, ChessException_7, nic mi nie mówi. ChessException_3(possible_errors[3]) WTF?
Polecam więcej pokory i samokrytyki. Na staż czy juniora to jest słaby kod. Mówisz, że kod działa. Fajnie, ale niech będzie czytelny bez zastanawiania się co to robi przez 15 minut.
Wspominałeś o sztuczkach. Sztuczki wykorzystuje się, jedynie kiedy tworzą wymierne korzyści, który ją akceptowalne mniejszą czytelnością kodu(albo jej brakiem).
Takim przykładem jest Q_rsqrt https://github.com/id-Software/Quake-III-Arena/blob/master/code/game/q_math.c#L552

0

Widzę, że to forum to strata czasu.

5

@pythonowiec: Stratą czasu jest poświęcanie tobie jakiegokolwiek czasu na recenzję.
Twoje soft skille są na tragicznie niskim poziomie, sugestię poprawy traktujesz jako atak na swoje ego i próbujesz usilnie nas przekonać, że jesteś super-ekstra programistą: patrz np. fragment o wyjaśnianiu quick sorta przez @twoj_stary_pijany, fragment o tym jak ma się długość kodu do czytelności, gdzie z uporem maniaka trzymasz się swojej wersji rzeczywistości, i do tego sugerujesz między wierszami że się nie znamy na pythonie, tylko ty bo przeczytałeś 4000 stron o tym języku xD
Trochę pokory i autorefleksji proponuję. Mam wrażenie, że założyłeś te wątki - tu i na fb - tylko po to aby ktoś cię poklepał po plecach a nie dał obiektywny feedback, na zasadzie - wszystko jest super ekstra, jesteś najlepszy, twój kod nie ma żadnych błędów.
Jeżeli nie popracujesz nad tym to albo nikt cię nie zatrudni albo praca z tobą będzie katorgą, której nie życzę nikomu.

3

Autor usunął konto, jednak wątek przeniósłbym do Perełek.

0

Ciekawe gdzie teraz poszedł delikwent :>

0

Dobra, to jak już sobie poszedł to co robi kod x = a^((a^b)&-(b<a))?
EDIT dobra już widzę że zwraca a ale czasem zmienia znak w zależności od znaku b, dalej mi się nie chce analizować

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.