Zwracanie wartości funkcji

0

Od dłuższego czasu jest ciekaw jak inni sobie radzą z poniższym problemem.

Mamy zwykłą funkcję ( nie zależnie od języka programowania ), która coś zwraca.
Według mnie lepiej stworzyć zmienna, która będzie przechowywać zwrotkę, dzięki czemu będziemy mogli w trochę łatwiejszy sposób debuggować w przyszłości.

Screenshot 2021-06-14 at 09.43.08.png

Pakiety Jetbrains od kiedy pamiętam podświetlają, że zmienna tutaj jest nie potrzebna ( co teoretycznie jest prawdą ), ale jednak chyba lepiej mieć jeden break point więcej ( co prawda przesadny byłoby dla każdego warunku tworzyć zmienne, bo wtedy się może okazać, że ich mamy dziesiątki, więc wszystko z umiarem )
Z drugiej strony testy powinny nam dać wystarczającą ilość informacji co zwraca funkcja.
Jak u was to wygląda?
Zwracacie Od razu wartość, czy tworzycie zmienną by ułatwić debuggowanie.

3

Mamy zwykłą funkcję ( nie zależnie od języka programowania ), która coś zwraca.

Jak nie zależnie od języka programowania to czemu piszesz w dziale JS :P

Według mnie lepiej stworzyć zmienna, która będzie przechowywać zwrotkę, dzięki czemu będziemy mogli w trochę łatwiejszy sposób debuggować w przyszłości.

Ja staram się pisać dobry kod żeby potem nie musieć debugować :D Poza tym każda zaoszczędzona linia to potem niej do analizy :)

BTW w Scali 2 kod można skrócić jeszcze bardziej i pominąć wąsy:

def canDisplay() = !isSend && !autoGrading

Nawet nie ma gdzie dać loggera XD

1

Możesz wyłączyć ostrzeżenia które Ci nie pasują: https://www.jetbrains.com/help/idea/disabling-and-enabling-inspections.html#suppress-inspections
Pamiętaj tylko żeby dogadać z ludzmi z projektu, bo domyślnie to się pewnie gdzieś w folderze .idea zapisze.

1

dzięki czemu będziemy mogli w trochę łatwiejszy sposób debuggować w przyszłości.

Jeśli wykorzystujesz console.log()-based debugging, to może i tak :-) - ale debuggery na ogół same pokazują zwracaną wartość: Chrome na przykład tworzy wirtualną zmienną o nazwie <return> (lub przynajmniej coś w ten deseń).

0

@Patryk27: Screenshot 2021-06-14 at 11.20.06.pngScreenshot 2021-06-14 at 11.20.18.png

Hmm, nie widzę, by debugger coś takiego wyświetlał.

2

@Patryk27: w Webstormie miałem wyłączoną opcję dlatego mi nic nigdy nie pokazywało.
Screenshot 2021-06-14 at 11.26.38.pngScreenshot 2021-06-14 at 11.26.44.png

1

Wujek Bob poleca wprowadzanie zmiennych (zwanych przez niego opisowymi) nawet nie do końca potrzebnych -- jako rodzaju komentarzy (które w odróżnieniu od zwykłych działają i są weryfikowalne przez kompilator). U niego brak tych zmiennych to zapach kodu G19 [1]. Czemu IDE traktują to jako coś niepożądanego?

[1] Robert C. Martin: "Czysty kod", rozdział 17.

0

Ja staram się pisać dobry kod żeby potem nie musieć debugować :D Poza tym każda zaoszczędzona linia to potem niej do analizy :)

To samo chciałem napisać. Kod powinien być dobry do czytania i rozumienia, niż do debugowania. Co więcej - jestem zdania, że im więcej muszę debugować, z tym niższej jakości kodem mam do czynienia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1