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

Ocena kodu JavaScript

Object Storage Arubacloud
–1 głos
244 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ź 370 wizyt
pytanie zadane 21 sierpnia 2017 w JavaScript przez Marchiew Dyskutant (7,690 p.)
+2 głosów
3 odpowiedzi 870 wizyt
pytanie zadane 9 lipca 2017 w JavaScript przez Ziken Początkujący (330 p.)
0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 17 stycznia 2018 w Nasze projekty przez Gambr Dyskutant (7,530 p.)

92,620 zapytań

141,473 odpowiedzi

319,813 komentarzy

62,003 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...