method/function 是否负责验证您的调用?
Is the method/function responsible for validate your call?
为什么写 function/method 是最好的方法?
1 - 第一种方式
function main() {
back()
}
function back() {
if(step > 0) {
step = step - 1
}
}
2 - 第二种方式
function main() {
if(step > 0) {
back()
}
}
function back() {
step = step - 1
}
我认为第二种选择是最好的方法,因为函数 back 只做一件事......那就是 back。但是,您认为正确的方法是什么?为什么?
第二个。考虑第一种选择。在调用 back()
时,阅读您的代码的人无法判断是否执行了 if
检查。它对实际发生的事情的概述很差。在那种情况下,后退函数应该被称为 backIfNeeded
,这有点糟糕的编程设计的味道。
简而言之,第二种选择提供了更好的概览和更简单的执行流程。
首先,您必须将浏览行为封装在一个 class 中并对其负责。
其次,你应该遵循Tell-Don't-Ask原则,在这种情况下,第一个选项
为什么写 function/method 是最好的方法?
1 - 第一种方式
function main() {
back()
}
function back() {
if(step > 0) {
step = step - 1
}
}
2 - 第二种方式
function main() {
if(step > 0) {
back()
}
}
function back() {
step = step - 1
}
我认为第二种选择是最好的方法,因为函数 back 只做一件事......那就是 back。但是,您认为正确的方法是什么?为什么?
第二个。考虑第一种选择。在调用 back()
时,阅读您的代码的人无法判断是否执行了 if
检查。它对实际发生的事情的概述很差。在那种情况下,后退函数应该被称为 backIfNeeded
,这有点糟糕的编程设计的味道。
简而言之,第二种选择提供了更好的概览和更简单的执行流程。
首先,您必须将浏览行为封装在一个 class 中并对其负责。
其次,你应该遵循Tell-Don't-Ask原则,在这种情况下,第一个选项