• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ocena kodu JavaScript

–1 głos
509 wizyt
pytanie zadane 29 września 2016 w JavaScript przez niezalogowany

Obecnie uczę się JS i w podręczniku był taki kawałek kodu:

function calculateArea(r)
{
    var area;
    if (r <= 0)
    {
        return 0;
    }
    else
    {
        area = Math.PI * r * r;
        return area;
    }
}
var radius = 5.2;
var theArea = calculateArea(radius);

console.log("Pole wynosi " +theArea);

Ale dla mnie to jest w ogóle niejasne, co jest czym. Dlatego napisałem program, który robi to samo, tylko trochę inaczej oraz użytkownik ma możliwość podania swojego promienia, a nie jest podany "na sztywno":

function calculateArea(r)
{
    var area;
    if (r < 0)
    {
        return 0;
    }
    else
    {
        area = Math.PI* r* r;
        return area;
    }
}
var r  = prompt("Podaj promień:");
console.log("Pole " +calculateArea(r));

Ale który kod jest lepszy? Czy zawsze mniej kodu == lepszy kod? (zakładając, że obydwie wersje dają dokładnie ten sam skutek)

2 odpowiedzi

+1 głos
odpowiedź 29 września 2016 przez erx700 Gaduła (3,430 p.)
Usunąłeś spacje przed gwiazdkami i nazywasz to krótszym kodem? O_o Według mnie lepiej albo dawać spacje po obu stronach mnożenia albo w ogóle nie dawać spacji bo twój zapis za bardzo się kojarzy ze wskaźnikami.

Mimo wszystko uważam, że zarówno pierwszy kod jak i drugi jest tak samo słabo napisany. Po pierwsze po co instrukcja else, skoro po return i tak funkcja nie jest dalej wykonywana. Po drugie po co jest zmienna area, skoro takie krótkie wyrażenia można wrzucać bezpośrednio w return.
1
komentarz 29 września 2016 przez niezalogowany

pyr pyr pyr

f=r=>0<r?Math.PI*r*r:0,console.log(`Pole ${f(prompt(`Podaj promień:`))}`)
komentarz 30 września 2016 przez erx700 Gaduła (3,430 p.)
Twoje "pyr pyr pyr" bardzo dużo wnosi do tematu. Dobrze, że są jeszcze na tym forum tacy "inteligenci".
komentarz 30 września 2016 przez niezalogowany
dzięki ; )
0 głosów
odpowiedź 29 września 2016 przez Paweł Barszcz Użytkownik (950 p.)
Nie zawsze krótszy kod = lepszy kod :)

Oczywiste jest to, że wygodniej jest podawać dane przed "prompt" niż je wklejać na sztywno w .js.

Co do krótszego kodu... Odpowiedz sobie sam na to pytanie.

Co jest wg. Ciebie lepsze:

1. Krótszy kod, pozbawiony wszelakich zabezpieczeń, nie czytelny dla innych programistów ORAZ, którego komputer dłużej "trawi".

2. Dłuższy, bezpieczny kod, zrozumiały dla innych ORAZ, szybszy w kalkulacji przez nasze PC :)

Podobne pytania

0 głosów
1 odpowiedź 847 wizyt
pytanie zadane 21 sierpnia 2017 w JavaScript przez Marchiew Dyskutant (7,730 p.)
+2 głosów
3 odpowiedzi 1,539 wizyt
pytanie zadane 9 lipca 2017 w JavaScript przez Ziken Początkujący (330 p.)
0 głosów
1 odpowiedź 354 wizyt
pytanie zadane 17 stycznia 2018 w Nasze projekty przez Gambr Dyskutant (7,530 p.)

93,757 zapytań

142,716 odpowiedzi

323,363 komentarzy

63,354 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...