在初步技术访谈中,我被要求在Javascript中编写简单计算器功能。我的代码可以通过,但他评论了我的糟糕的间距。我写了这样的话:
var calc = function(num1, num2, operand){ //function(... VS function (...
if(operand === 'add'){
return num1 + num2;
} else if(operand === 'multiply'){ // if(...
return num1 * num2;
} else if (operand === 'subtract'){ // if (...
return num1 - num2;
} else {
console.log("Not a valid operand");
};
};
我是Javascript的初学者,希望学习并保持良好的编码习惯。我理解无论我的间距是否不一致,上面的函数都会运行,但是有没有正确的方法来区分Javascript控制循环?
任何建议或编码示例都会有所帮助!谢谢!
答案 0 :(得分:8)
他可能认为这很糟糕,因为你写的风格与他不同。
代码风格的一个很好的资源是Google JavaScript Style Guide。
页面末尾的关键点是:
是一致的。
如果您正在编辑代码,请花几分钟时间查看代码 你并确定它的风格。如果他们在他们周围使用空间 算术运算符,你也应该。如果他们的评论很少 他们周围的哈希标记框,让你的评论有点小盒子 他们周围也有哈希标记。
拥有风格指南的关键是要有一个共同的词汇表 编码让人们可以专注于你所说的而不是 你是怎么说的。我们在这里提出全球风格规则 知道词汇,但当地的风格也很重要。如果你编码 添加到文件看起来与现有代码截然不同 在它周围,当他们去阅读时,它会让读者摆脱他们的节奏 它。避免这种情况。
答案 1 :(得分:3)
这完全是一个意见问题。您的代码是完全可以接受的 - 在某些地方略有不一致,但仍然有效。我个人会写这样的东西:
var calc = function (num1, num2, operand) {
if (operand === 'add') {
return num1 + num2;
} else if (operand === 'multiply') {
return num1 * num2;
} else if (operand === 'subtract') {
return num1 - num2;
} else {
console.log("Not a valid operand");
}
};
好吧,我实际上可能会使用switch语句,但无论如何......
以下是一些您可能会觉得有用的风格指南:
当然,这些都不是正确答案,但它们都可以帮助您保持代码清洁和可维护。
答案 2 :(得分:0)
这对你有用吗?
var calc = function(num1, num2, operand){
return ( new Function( 'return ' + num1 + operand + num2 ) )();
};
正如其他人已经提到的,JavaScript中没有像Python或F#这样的空格规则。由于以下原因,他可能会说间隔不好
如果使用if() else()
,则必须从内存中检索每个比较值,如果使用了switch,则将检索一次该值并执行该任务。在这种情况下,Ofcourse Switch更好。
在这种情况下,也不需要使用开关。您可以按我在回答中提到的那样使用。