Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире. Пожалуйста, помогите нам перевести это руководство на другие языки.
КупитьEPUB/PDF
Поделиться
вернуться к уроку

Плохой стиль

важность: 4

Какие недостатки вы видите в стиле написания кода этого примера?

function pow(x,n)
{
 let result=1;
 for(let i=0;i<n;i++) {result*=x;}
 return result;
}
let x=prompt("x?",''), n=prompt("n?",'')
if (n<=0)
{
 alert(`Степень ${n} не поддерживается, введите целую степень, большую 0`);
}
else
{
 alert(pow(x,n))
}

Вы могли заметить следующие недостатки, сверху вниз:

function pow(x,n) // <- отсутствует пробел между аргументами
{ // <- фигурная скобка на отдельной строке
 let result=1; // <- нет пробелов вокруг знака =
 for(let i=0;i<n;i++) {result*=x;} // <- нет пробелов
 // содержимое скобок { ... } лучше вынести на отдельную строку
 return result;
}
let x=prompt("x?",''), n=prompt("n?",'') // <-- технически допустимо,
// но лучше написать в 2 строки, также нет пробелов и точки с запятой
if (n<=0) // <- нет пробелов, стоит добавить отступ в одну строку сверху
{ // <- фигурная скобка на отдельной строке
 // ниже - слишком длинная строка, лучше разбить для улучшения читаемости
 alert(`Степень ${n} не поддерживается, введите целую степень, большую 0`);
}
else // <- можно на одной строке, вместе: "} else {"
{
 alert(pow(x,n)) // вложенный вызов функции, нет пробелов и точки с запятой
}

Исправленный вариант:

function pow(x, n) {
 let result = 1;
 for (let i = 0; i < n; i++) {
 result *= x;
 }
 return result;
}
let x = prompt("x?", "");
let n = prompt("n?", "");
if (n <= 0) {
 alert(`Степень ${n} не поддерживается,
 введите целую степень, большую 0`);
} else {
 alert( pow(x, n) );
}

AltStyle によって変換されたページ (->オリジナル) /