当你不知道该做什么的时候该怎么办
进入心流状态是开发者最棒的感觉之一。戴上耳机,沉浸在代码的世界里。时间仿佛飞逝,你享受着让电脑为你服务的快感。功能和bug修复接连不断地完成,一天结束时,你会惊叹于自己无中生有的能力。你真棒!
但也有些时候,你无论如何都无法完成某项工作,甚至会怀疑自己当初是怎么被录用的。
这种情况时有发生,而且每个人都会遇到。每个人都会遇到这样的情况:绞尽脑汁、搜遍谷歌,却仍然找不到答案,反而更加沮丧。你并不孤单。
所以你会怎么做?你会自己想办法解决。你是一名开发人员,解决问题就是你的工作!
以下是我努力记住的一些事情:
1) 代码只会执行它被告知要做的事情。
当你的代码做了不应该做的事情时,请记住,那是你(或者你使用的某个库或包)指示它做的。调试代码是一项至关重要的技能,但很多开发者却习以为常。当我处理复杂的问题时,我会记录所有可能的信息,以便随时了解代码的状态。肯定有人指示代码执行了你认为不应该执行的操作。你只需要找到这个指示即可。
2) 不要想当然
我喜欢看到有人邀请我去他们的办公桌旁帮忙解决问题,然后在我解释问题的过程中,他们自己找到了解决方案。这在软件工程中是一个众所周知的现象,叫做“橡皮鸭效应”(rubber ducking)。它之所以经常奏效,是因为它迫使你去验证你的假设。一定要回顾整个场景,确保你认为的每一个事实,实际上都是事实。不要仅仅依靠方法或函数的名称就能获得所需的洞察力。要仔细查看该函数或方法的实际运行情况。
3) 理解你的集成
我遇到的一些比较复杂的问题,都是由于尝试将我的代码与其他软件包或库集成造成的。我知道,你期望它能像预期那样运行,但你猜怎么着?代码是由像你我一样容易犯错的人编写的,没有软件是完全没有 bug 的。不要害怕去查看他们的代码,看看究竟发生了什么。有时候你会发现问题不在你的代码里,而是在他们的代码里!接下来,你就会提交一个 PR(Pull Request,拉取请求),为社区做出贡献。这不仅解决了你的问题,想想看,你的帮助还能让其他开发者免受这种痛苦。
4)寻求新的视角
有时候,你需要暂时放下手头的工作,让你的潜意识帮你找到问题的答案。这种情况经常发生。而有时候,寻求新的视角意味着你需要借助他人的力量。不要因为向他人寻求帮助而感到沮丧。软件开发很复杂,即使是最简单的bug也可能被忽略,因为,说实话,我们不是机器人,我们并不完美。所以,不要不好意思寻求他人的帮助。这并不意味着你没有能力解决这个问题。你已经足够成熟,能够意识到自己遗漏了某些东西,而也许其他人能够找到答案。
如果这些方法都没用,那我就换个职业。开玩笑啦!这些只是对我有帮助的一些方法,希望对你也有帮助!
文章来源:https://dev.to/kevpo/what-to-do-when-you-dont-know-what-to-do-16h8
