Jak (nie) nazywać rzeczy w kodzie?

Поделиться
HTML-код
  • Опубликовано: 26 янв 2025

Комментарии • 48

  • @HanKu16
    @HanKu16 11 месяцев назад +15

    Fajnie by było jakby pojawił się też odcinek, w jaki sposób odpowiednio nazywać pliki w projekcie i tworzeniu jego struktury. Materiał bardzo fajny

    • @szanujsie
      @szanujsie 11 месяцев назад +1

      Albo komentarze, kiedy i jak je pisać

    • @DanPlayPl
      @DanPlayPl 4 месяца назад

      Pamiętam że Overment kiedyś popełnił materiał o BEM, w jakimś stopniu pokrywa to zagadnienie tworzenia struktury katalogów. Niemniej poprawnych podejść jast ogrom.

  • @xenomorph80
    @xenomorph80 11 месяцев назад +6

    5:39 Przyjęło się stosowanie przedrostka "I" w C# z tego względu że w C# przy implementacji interfejsu nie ma słowa "implements" tylko jest : tak jak przy dziedziczeniu po klasie. Przynajmniej mi się tak wydaje z własnej praktyki. Od razu widać, że implementuje to interfejs a nie rozszerza klasę.

    • @xenomorph80
      @xenomorph80 11 месяцев назад

      @@marcinz9379 Nie no to ze coś jest głupie, ale pomaga w kodzie to nie znaczy że jest głupie. Poza tym kod i tak jest manglowany przez kompilator więc wynikowo i tak będzie to to samo.

  • @barteknr1
    @barteknr1 11 месяцев назад +1

    Dobry materiał. Nie wszyscy zdają sobie sprawę jak bardzo ważne jest nazewnictwo :)

  • @vlucky6328
    @vlucky6328 11 месяцев назад

    Bardzo dobry materiał! Liczę na więcej odcinków poświęconych konwencjom w programowaniu. Dużo przyjemniej się słucha osoby przekazującej wiedzę. Polecam takie materiały jak twój osobom, które czasem uczą się języka Java. To przyczynia się do mniejszego zamieszania podczas code review.

  • @galowsky5637
    @galowsky5637 11 месяцев назад

    Bardzo fajny, skondensowany i przystępny materiał. Super :)

  • @davidmagnucki1818
    @davidmagnucki1818 11 месяцев назад

    Ale super materiał! Bardzo pouczający. Dzięki za filmik.🙏 Mem był extra 😀

  • @dementor001
    @dementor001 11 месяцев назад

    7:15
    Super, aczkolwiek działa tylko w przypadku gdy język pozwala na przeciążanie metod jak np. Java, w przypadku PHP by to nie wyszło.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  11 месяцев назад +1

      Jasna sprawa, w takim przypadku nie mamy zbyt dużej swobody. Wtedy nie ma wyjścia, trzeba dodawać to byId, byName do nazwy.

  • @Wojciech_Zielinski
    @Wojciech_Zielinski 11 месяцев назад

    Dobra lekcja 👍

  • @DrogaProgramisty
    @DrogaProgramisty 11 месяцев назад +2

    spoko filmik, pozdrawiam cieplutko

  • @5tr0mx
    @5tr0mx 11 месяцев назад

    A jak jest interface Car i chce zrobic class Car ? To jak nazwac jedno lub drugie zeby nie bylo konfliktu nazw?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  11 месяцев назад +1

      A w jakiej sytuacji chciałbyś nazwać tak samo zarówno interfejs jak i klasę implementującą ten interfejs? Bo brzmi to jak źle zaprojektowany kod, więc jeżeli napotkasz taką sytuację, potraktowałbym to jak czerwoną lampkę, że coś jest nie tak i przemyślał jeszcze raz strukturę kodu.

  • @ChmielEmilian
    @ChmielEmilian 11 месяцев назад

    Można powiedzieć, że streścił Pan książkę "Czysty Kod", kiedy "Czysta Architektura" ? :D

  • @aeian5138
    @aeian5138 11 месяцев назад

    Sugeruję zrobić materiał na temat dzielenia klas lub metod na pomniejsze w celu refaktoryzacji kodu

  • @Inkeri94
    @Inkeri94 11 месяцев назад +2

    w przypadku zmiennych boolean nie polecam robic nazwy typu "isActive" bo IDE w wiekszosci przypadkow do czegos takiego utworzy setter "setIsActive" a getter "isIsActive", po prostu samo "active" wystarczy

    • @grzegorzpiatek4102
      @grzegorzpiatek4102 11 месяцев назад

      jakie ide?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  11 месяцев назад +2

      To jest w sumie temat na odrębną dyskusję:) Bo w tym przypadku nie generalizowałbym tak mocno - są sytuacje, w których dodawanie prefiksu w postaci is / has / was jest zbędne, ale z kolei w innych sytuacjach użycie prefiksu zwiększa czytelność kodu. Co do generowania getterów i setterów w IDE, można to oczywiście różnie skonfigurować, warto też zawsze zweryfikować kod po wygenerowaniu. A na przykład w przypadku Lomboka nie będzie znaczenia czy zmienną nazwiemy active czy isActive, bo Lombok zawsze w tym przypadku wygeneruje getter i setter isActive oraz setActive.

    • @Tapczinio
      @Tapczinio 11 месяцев назад

      @@JakNauczycSieProgramowania Od siebie dodam, że kod czyta się wtedy jak książkę jeśli jest jakiś bardziej skomplikowany proces.

  • @robertgawle5269
    @robertgawle5269 11 месяцев назад

    skraceanie userList do users nie zawsze jest praktyczne , ale czasem klasa to więcej niż jeden ekran i można się pogubić czy users to akurat lista czy kolekcja czy jakaś klasa , choć dzisiejsze IDE podpowiadają co to za zmienna

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  11 месяцев назад

      Dla mnie nie ma ani jednego zastosowania, w którym zamieszczanie w nazwie zmiennej informacji o jej typie było uzasadnione. W dobrze zaprojektowanym kodzie, z odpowiednią enkapsulacją, gdy korzystasz z jakiejkolwiek kolekcji, nie powinieneś przejmować się szczegółami implementacji - Twoim zadaniem jest dodać, usunąć, pobrać elementy z tej kolekcji, ale nie powinno mieć dla Ciebie żadnego znaczenia, czy pod spodem jest ArrayList, LinkedList czy HashSet.
      To autor kodu odpowiedzialnego za operacje na tej kolekcji powinien zadbać już o udostępnienie na zewnątrz odpowiednich metod.
      A jeżeli czujesz, że musisz dodać do nazwy zmiennej słowo "list", "set" czy "map", warto zatrzymać się na chwilę i zastanowić się, czy faktycznie ten kod jest ok, czy może jednak wymaga on pewnej refaktoryzacji.

  • @RobieMVPAplikacjeKarolBocian
    @RobieMVPAplikacjeKarolBocian 11 месяцев назад +1

    Brakuje mi dobrych słów, aby dobrze podsumować ten materiał :)

  • @marianfred3734
    @marianfred3734 11 месяцев назад

    Ogólnie się zgadzam, ale długie nazwy zmiennych mogą być problematyczne np. w pythonie często nie ma za dużo miejsca w linijce i równania się rozłażą na kilka linijek co pogarsza czytelność kodu. Trzeba szukać złotego środka pomiędzy nazwą zmiennej, bo za krótka mówi za mało, a za długa pogarsza czytelność. Np. DistanceFromSignalAfterTransformation = DistanceFromSignalBeforeTransformation * TransformationFormula

    • @sulmarpl
      @sulmarpl 4 месяца назад

      Długa nazwa zmiennej lub metody może sugerować, że trzeba zrobić refaktoring ;-)

  • @solidus2360
    @solidus2360 11 месяцев назад

    Będzie filmik jak nazywać rzeczy w językach które nie są typowane? Np. Pjaton

  • @KacperSieradziński
    @KacperSieradziński 11 месяцев назад +1

    Pierwszy!

  • @_I_like_kebeb
    @_I_like_kebeb 11 месяцев назад +4

    Ja jeżeli nazywam zmiennie ,klasy lub metody wolę użyć długiej nazwy ale dobrze wyjaśniającej o co chodzi niż krótkiej, która nic nie mówi.Czytając kod innych osób często można spotkać metodę np count() i co ona niby zlicza? arbuzy?

    • @Yloj
      @Yloj 11 месяцев назад +1

      Tak też tego nie lubię. Mam wrażenie, że w pewnym momencie była jakaś moda na jak najkrótsze nazwy.
      Mamy później takie efekty, że zamiast od razu wiedzieć co robi funkcja to muszę wejść i ją przeanalizować, niepotrzebnie zmarnowany czas.
      Niektórzy mi mówią, że tak nie powinno się robić, bo po co takie długie nazwy, ale nie mają logicznego argumentu, który by uzasadniał ich punkt widzenia.

  • @szczepionzabijaka8476
    @szczepionzabijaka8476 11 месяцев назад

    Gratulacje zostałeś wybrany przez Boga na nowego Mesjasza XD

  • @jutublizard
    @jutublizard 11 месяцев назад

    isNazwa

  • @halfix_1495
    @halfix_1495 11 месяцев назад

    isPies

  • @szaman6204
    @szaman6204 11 месяцев назад

    Nie mów mi jak mam pisać bobku

  • @brarord8401
    @brarord8401 11 месяцев назад

    Mam pytanie, jak nazwałbyś metodę w kontrolerze która wyciąga dane usera?
    Pewnie getUser.
    Metode w serwisie?
    Również getUser?
    A metodę wykonującą zapytanie do bazy danych?
    Też po raz kolejny getUser?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  11 месяцев назад +1

      Tak, nie szukałbym tutaj synonimów. Proste "get" jest zdecydowanie najlepszym rozwiązaniem.
      Ale oczywiście nie zawsze musi to być dokładnie "getUser", bo jeżeli raz pobieramy instancję użytkownika, a raz pobieramy szczegóły związane z użytkownikiem, to wtedy nazwiemy to inaczej. Możemy mieć getUser, getUserDetails, getUserFromDatabase. Wszystko zależy tak naprawdę od kontekstu i od tego, co chcemy zapisać za pomocą kodu. Natomiast jeżeli chodzi o sam czasownik oznaczający pobranie czegoś, to dla mnie w kodzie zawsze jest to get.

    • @brarord8401
      @brarord8401 11 месяцев назад

      @@JakNauczycSieProgramowania ok dzięki!

    • @DanPlayPl
      @DanPlayPl 4 месяца назад

      ​@@JakNauczycSieProgramowania​Ewentualnie get można zastąpić słowem fetch gdy pobieramy coś używając Resta

  • @PozytywnyGosc
    @PozytywnyGosc 11 месяцев назад

    isPies