如何更好的发现问题

很多时候,发现问题比解决问题更重要。

我在学习Math.floor函数的时候,写了一段代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Math </title>
<script type="text/javascript">
document.write(Math.floor(3.3)+ "<br />");//与下面一行代码结构重复
document.write(Math.floor(-0.1)+ "<br />");//与上面一行代码结构重复
document.write(Math.floor(-9.9)+ "<br />");//与上面一行代码结构重复
document.write(Math.floor(8.9)+ "<br />");//与上面一行代码结构重复
</script>
</head>
<body>
</body>
</html>

能看出上面有四行代码除了参数不同之外,别的都是重复的。这样的写法,一点都不高效简洁。

我在写的时候也感觉到了这种机械性的重复,但没多想,只是靠着惯性一味的写下去。

然后我参考了一下别人写的代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Math </title>
<script type="text/javascript">
function math(x){
    document.write(Math.floor(x)+"<br/>");
}//把代码的功能抽象为一个函数
math(3.3);//调用函数
math(-0.1);//调用函数
math(-9.9);//调用函数
math(8.9);//调用函数
</script>
</head>
<body>
</body>
</html>

哎呦,好简洁,好漂亮!

实现同样的功能,我写的代码比别人冗余很多,效率也低了很多。

为什么会造成这种差别呢?

主要是我水平太低,其次就是我没有发现问题。

如果我在写这段代码的时候,能够发现自己这种方法是重复性劳动、是低效的、反人类进程的,我应该就会想另外更好的方法。

生活中很多地方也是如此,不要被自己的惯性拖着走。

当你发现了有不对劲的地方,就停来,思考一下是不是有问题。

原文地址:https://www.cnblogs.com/guohaojintian/p/6243357.html