• Максимальное число в массиве, как правильнее?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Конечно же, второй вариант: list[0].
    Доказательство: найти максимум в массиве отрицательных чисел.

    А быстрее встроенным методом Math.max():
    Math.max.apply(null, list)
    Ответ написан
    2 комментария
  • Говнокод или нет?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Код г-но неидеален, и вот, почему:
    см. комменты в коде
    let a = prompt("Enter a value", 10); // a, b, c дальше не меняются
    let b = prompt("Enter b value", 10); // поэтому можно
    let c = prompt("Enter c value", 10);  // const
    let result;
    let discr = (b * b ) - 4 * a * c;
    let sqrtDiscr = Math.sqrt(discr); // при отрицат. discr здесь NaN
    if(a === 0 && b === 0 && c === 0) { // проверяем уже после вычислений
      throw new Error("The values must be bigger than 0");
    } else if(discr < 0 ){ // проверяем уже после вычисления sqrtDiscr
      throw new Error("This Equation have not solution");
    } else if(discr === 0 ){
      console.log("This Equation have only 1 solution")
      result = (-b) / (2 * a);
    } else if (discr > 0){
      console.log("This Equation have 2 solution");
      result = (- b + sqrtDiscr) / (2 * a) + ";     " + (- b - sqrtDiscr) / (2 * a);
    }
    
    console.log(result);


    По функциям разбивать есть смысл если из нескольких мест идёт обращение, код повторяется более двух раз. Тут можно в двух последних случаях считать два корня одной формулой, и при нулевом дискриминанте брать только одно из двух равных значений. Но это излишняя, дурная, вредная переоптимизация.

    Ещё вы не проверили случай, когда a === 0: у вас будет деление на ноль.
    Ответ написан
    2 комментария
  • Говнокод или нет?

    Сейчас модно складывать код в одну строку, можешь попробовать)
    А так код нормальный, читаемый и в рамках одной задачки пойдет и ненужно его разбивать.
    Ответ написан
    1 комментарий
  • Как понять что достаточно изучил CSS?

    Если верстаете сайт с нуля до конца то уже знаете css достаточно.
    Ответ написан
    Комментировать
  • На что обращать внимание?

    Stalker_RED
    @Stalker_RED
    Не обязательно на память знать все эти штуки, но нужно знать что они вообще существуют, и знать где про них прочитать. Ситуации типа "ты попал на необитаемый остров без интернета и тебе срочно нужно запрограммировать боевого робота на javascript" даже в кино не встречаются. Всегда можно написать в гугле "mdn math" и открыть страничку, где перечислены все методы объекта Math, например.

    Больше внимания придал операторам сравнения, оператору typeof, преобразованиям типов.
    Звучит примерно как "выучил буквы А, Б, В, подскажите какие еще буквы мне учить". Скорее всего придется познакомиться со всеми операторами, а потом еще учить как их в выражениях применять.
    Ответ написан