解决编程问题的 5 个步骤
解决问题是程序员的生计,每个人都有自己的方法,我个人发现这 5 个步骤很可能会帮助你,不仅可以解决问题,而且可以更快、更有效地解决问题。
1. 把问题读几遍,直到你能向别人解释清楚
这是迄今为止最重要的一步,多次阅读问题,直到你完全理解它,如果你不理解它,你将无法解决它。知道你是否理解问题的最好方法是能够向别人解释它。
2.手动解决问题
凡是无法手动完成的事情都无法自动化!
我们编写的任何代码都有其基础,那就是手动过程。话虽如此,首先手动解决问题,这样你就能确切地知道你想要自动化什么,这将为你节省大量时间,避免你像疯子一样开始写代码。
使用多个输入和一些极端情况来测试您的流程以验证它,密切关注您在脑海中采取的每一个步骤,并将其写下来,因为每一个步骤都很重要。
3. 完善手动解决方案
看看你的流程是否可以改进,是否有更简单的方法,或者是否可以减少一些步骤来简化它(比如循环)。这一步非常重要,记住,在头脑中重构流程比在代码中重构要容易得多。
此时,您可能会想编写一些代码,但请不要这样做,我们还有一个步骤要介绍,我保证这会让您的最终代码更容易编写。
4.编写伪代码
伪代码是对程序必须执行的操作的详细描述,这将帮助您编写解决问题所需的每一行代码。
经验丰富的程序员有时会省略这一步,但我可以向你保证,无论你多么有经验,如果你编写了一些伪代码,那么编写最终代码的过程将会容易得多,因为你只需要将每一行伪代码转换成实际代码。
让我们思考一下编写返回数字平方值的函数所需的步骤。
// Initialize a variable with a 'n' value
// Multiply variable by it self
// Return the result of that multiplication
现在我们确切地知道我们的代码应该做什么,我们还有一个步骤。
5. 用真实代码替换伪代码
这是有趣的部分,现在您确切地知道您的程序应该做什么,只需编写一些代码并测试它。记住,您可以随时使您的代码变得更好。
让我们使用我们的正方形示例(为了演示目的非常简单):
function square(n) {
// Initialize a variable with a 'n' value
const initialValue = n
// Multiply variable by it self
const squaredValue = initialValue * initialValue
// Return the result of that multiplication
return squaredValue
}
优化您的代码:
function square(n) {
return n * n
}
就这样!
这似乎是一个显而易见的过程,但大多数人会省略一半并开始编码,从而浪费宝贵的时间。
无论您的问题有多复杂,我向您保证这 5 个步骤将帮助您在更短的时间内解决问题,并且减少麻烦。
注意:如果您的问题太复杂,请将其分成小问题,这是一种称为“分而治之”的技术。
最初发布于我的网站- 2016 年 5 月 26 日
文章来源:https://dev.to/aprietof/5-steps-to-solving-programming-problems--502d