全文共8912字,预计学习时长14分钟
作者lloorraa,来源need.pix
糟糕的代码可以运作,但早晚会让我们付出代价。你有没有遇到过这样的问题:几周后,你无法理解自己的代码,于是不得不花上几个小时,甚至几天的时间来弄清楚到底发生了什么。
解决这个常见问题的方法是使代码尽可能清晰。如果做得更好的话,即使是非技术人员也应该能理解你的代码。
是时候停止寻找借口,提高我们的代码质量了!
编写清晰的代码并没有那么复杂。本教程将向你展示五种改进代码的简单技巧,并提供一些实例:
1. 不用switch语句
我们通常使用switch语句来代替大型if-else-if语句。但是,switch语句非常冗长,很难维护,甚至很难调试。这些switch语句把我们的代码弄得乱七八糟,而且这些语句的语法很奇怪,很不舒服。在添加更多的case时,我们不得不必须手动添加每个case和break语句,而这就很容易出错。
接下来看一个switch语句的例子:
function getPokemon(type) {
let pokemon;
switch (type) {
case 'Water':
pokemon = 'Squirtle';
break;
case 'Fire':
pokemon = 'Charmander';
break;
case 'Plant':
pokemon = 'Bulbasur';
break;
case 'Electric':
pokemon = 'Pikachu';
break;
default:
pokemon = 'Mew';
}
return pokemon;
}
console.log(getPokemon('Fire')); // Result: Charmander
Switch语句
如果需要在switch语句中添加更多的case的话,需要编写的代码量是相当大的。我们可能最终会复制粘贴代码,而其实我们都知道这种行为的后果是什么。
那么,如何避免使用switch语句呢?可以通过使用对象文本。对象文本简单,易于编写,方便读取,维护轻松。我们都习惯用javascript处理对象,对象文本语法比switch语句更新鲜。下面举个例子:
const pokemon = {
Water: 'Squirtle',
Fire: 'Charmander',
Plant: 'Bulbasur',
Electric: 'Pikachu'
};
function getPokemon(type) {
return pokemon[type] || 'Mew';
}
console.log(getPokemon('Fire')); // Result: Charmander
// If the type isn't found in the pokemon object, the function