@stepan132

Это плохой код?

Здравствуйте. Помогите разрешить наш с другом спор. Он прислал мне свой калькулятор, я сказал, что это плохой код, он-же утверждает обратное. Вот сам код:

let input = document.querySelector('.calculator-input'),
    buttons = document.querySelectorAll('.calculator-button'),
    clearInputButton = document.querySelector('.clearInput'),
    calculateButton = document.querySelector('.calculate');

let insertToInput = (value) => {
    if (input.value.length > 12 || value.toString().length > 12) {
        input.value = 'Number too large';
        return;
    }
    input.value += value;
}
let clearInput = () => {
    input.value = '';
}
let calculate = (str) => {
    clearInput();
    let res = eval(str);
    if (/\/0$/g.test(str) || isNaN(res)) {
        return insertToInput('Error');
    } else if (/0\.\d\+0\.\d/g.test(str)) {
        return insertToInput(res.toFixed(1));
    } else if (/0\.\d\*0\.\d/g.test(str)) {
        let numsArr = str.split('*');
        let firstNum = numsArr[0];
        let secondNum = numsArr[1];
        return insertToInput((firstNum * 10) * (secondNum * 10) / (10 * 10));
    }
    insertToInput(res);
}

for (let button of buttons) {
    button.addEventListener('click', (e) => {
    let calcSymbol = e.target.getAttribute('data-symbol');
        insertToInput(calcSymbol);
    });
}
clearInputButton.addEventListener('click', clearInput);
calculateButton.addEventListener('click', () => {
    let stroke = input.value;
    calculate(stroke);
});


Заранее спасибо за ответ.
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
да, плохой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы