Я нашел этот код в Ruby (из здесь ):
DX = { E => 1, W => -1, N => 0, S => 0 }
, и я думал о том, как лучше отформатировать его в JS, учитывая, что его не хватает функция «когда».
Для справки, N, S, E и W являются «направлениями» и имеют псевдонимы, такие как: const N = 1, S = 2, E = 4, W = 8;
Я изначально хотел сделать быстрый Функция стрелки, но затем пошла с этим:
function DX(dir) {
if(dir==E) return 1;
if(dir==W) return -1;
if(dir==N) return 0;
if(dir==S) return 0;
}
Это выглядело немного долго, поэтому я попытался сократить его:
function DX(dir) {
if(dir==E) return 1;
if(dir==W) return -1;
return 0;
}
И затем снова:
function DX(dir) {
return dir==E ? 1 : dir==W ? -1 : 0;
}
Но теперь мы столкнулись с проблемой того, что этот код не очень читабелен. Поэтому я решил задокументировать это:
// returns the distance in x traveled by that direction
// E => 1, W => -1, N => 0, S => 0
function DX(dir) {
return dir==E ? 1 : dir==W ? -1 : 0;
}
И, наконец, я преобразовал его в переменный синтаксис и функцию стрелки:
let DX = (dir) => dir==E ? 1 : dir==W ? -1 : 0;
Теперь, очевидно, весь этот код работает, но у меня вопрос как манера стиля, который считается "лучшим", либо в промышленности, по вашему мнению, или где вы конкретно работаете? Я предполагаю, что читаемость превыше всего, так какой код, по вашему мнению, наиболее читабелен? Я предпочитаю раздел с документацией, лично.