@FEAofTruss: no ale co to za odkrycie..To jedno z postaw programowania żeby nazwy metod czy pól mówiły co to oznacza... choć większość osób tak nie robi..I komentarzy też nie robi ;)
@wykop_hejter: kluczowe jest chyba to co napisałeś "większość osób tak nie robi"( ͡°͜ʖ͡°) Wydaje mi się, że ten przykład przedstawia pewną dobrą praktykę, której często nie widziałem w swoim jak i czyimś kodzie
może być ciałem metody employee.isEligibleForFullBenefits()
Można też nie bawić się w takie rzeczy, że klasa employee która przechowuje zapewne informacje o pracownikach jest odpowiedzialna też za sprawdzanie ich, a napisać zgrabny interfejs który będzie się zajmował takimi rzeczami ( ͡º͜ʖ͡º)
@FEAofTruss: ostatnio w jednej z klas miałem zmienna EE_Serial i ktos tam wcisnął zupełnie cos innego niż nazwa by mówiła a zeby było śmieszniej to "po drugiej stronie tez tak było.
@FEAofTruss: Do tego w takim wypadku employee.flags oraz employee.age mogą być zadeklarowane jako pola prywatne gdyby miały być pobierane tylko i wyłącznie przez metodę isEligibleForFullBenefits lub inne metody publiczne tej klasy (。◕‿‿◕。)
@FEAofTruss: to sie powinno nazywać EE_StatonName tak samo w firmware urządzenia. Ostatnio szukaliśmy gdzie jest to zapisane i komentarz mnie uratował.
@bi-tek: te prefixy to zlo. Lepiej już chyba wtedy intelisense wylaczyc...
Z długością bym tez nie przeszadzal ;-) a inna sprawa że wolał bym zwrocic tutaj flage Benefits. ALL która by w sobie wszystko miała. Łatwiej wtedy sprawdzac czy dany obiekt ma prawo do jednej rzeczy. Bo nie będzie if konkretna lub if all
@FEAofTruss. Jesli chodzi o mnie to zalezy czy potrzebujesz takiego warunku w aplikacji raz czy wiecej razy jak jest potrzebny tylko raz to nie tworzylbym ekstra metody na takie fanaberie. W moich apkach czesto potrzebuje globalne booleany i wtedy robienie metod to bardziej obowiązek. Trzeba sobie zawsze zadac k.rewsko wazne pytanie. Czy jest potrzebna jest lokalna zmenna czy wyzszego levelu. Moim zdaniem to nie kwestia elegancji tylko potrzeb.
@ameliniummm: Globalne booleany to raczej nie jest potrzeba =] No i przykład jest taki mało życiowy, ale chodzi o przekaz pewnej idei - taka nazwa metody nie wymaga dokumentacji ani znajomości 'reguł biznesowych' tak naprawdę. Wchodzisz w taki kod i już to rozumiesz, a jak jesteś ciekawy tych reguł to możesz wejść w środek - tam będzi to co było pokazane jako 'mniej czytelne' - Zresztą, zapomnij o tym jak nazwano
@nilphilus jaj juz wczesniej napisalem. Wszystko zalezy od potrzeb a nie milosci do konkretnego rodzaju rozwiazania. Dobra..inaczej (⌐͡■͜ʖ͡■)Jak potrzebuje globalny boolean to robie interfejs wywolywany metoda w stylu jak wyzej. IsSomethingOn. I tak..nie trzeba sie produkowac opisow wtedy. Globalne zmienne sa fuj( ͡°͜ʖ͡°)ノ⌐■-■
“W wielu przypadkach kod mógłby zupełnie obejść się bez komentarzy [...] Co wolelibyśmy zobaczyć? To:
if((employee.flags & HOURLY_FLAG) && (employee.age > 65))
czy to:
if(employee.isEligibleForFullBenefits())
”#feaoftruss #czystykod #programowanie #programista15k #webdev #gamedev
Podobało się? To zaplusuj i zapisz się do wołania (link w stopce)
************
[Chcesz być wołany?]
Możesz zapisać/wypisać się klikając na nazwę listy.
Sponsor: Grupa Facebookowa z promocjami z chińskich sklepów
Masz problem z działaniem listy? A może pytanie? Pisz do IrvinTalvanen
! @FEAofTruss @mikasjp @vorio @MAT3N @Trustm3 @wszystkiefajnenickisazajete @avangarda @mozetenbedziewolny @PhatFarm05 @owocbananowca @pan_cziken @Tojtek @dotnetboy @Anon95 @kMarek
Sponsor: Grupa Facebookowa z promocjami z chińskich sklepów
Nie chcesz być wołany/a jako plusujący/a? Włącz blokadę na https://mirkolisty.pvu.pl/call lub odezwij się do @IrvinTalvanen
Uważasz, że wołający nadużywa MirkoList? Daj znać @IrvinTalvanen
! @AnonimoweLwiatko @daray89 @Shaunee @niexus @TfujpszyjacielRAK @RusXBlack @kaziu12 @horsehead @janusz-lece @Maro2 @nyszom @PiotrasSNK @arczi_awaryjny @Adaslaw @Misora @reqq @Test43213 @Cockatrice @Jdoejhdi @hurrdurr221 @rzezol @iksdede @Kierman @mikasjp @martinlubpl @eFieN @migutek @Kondz @
if((employee.flags & HOURLY_FLAG) && (employee.age > 65))
może być ciałem metody employee.isEligibleForFullBenefits()
Można też nie bawić się w takie rzeczy, że klasa employee która przechowuje zapewne informacje o pracownikach jest odpowiedzialna też za sprawdzanie ich, a napisać zgrabny interfejs który będzie się zajmował takimi rzeczami ( ͡º ͜ʖ͡º)
Komentarz usunięty przez autora
Komentarz usunięty przez moderatora
Z długością bym tez nie przeszadzal ;-) a inna sprawa że wolał bym zwrocic tutaj flage Benefits. ALL która by w sobie wszystko miała. Łatwiej wtedy sprawdzac czy dany obiekt ma prawo do jednej rzeczy. Bo nie będzie if konkretna lub if all