当一个程序员写不出代码了,该怎么办?

简介:

你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。

咖啡一杯接着一杯。不敢再喝了,因为搞不好要有副作用了,心跳加速,身体不由自主地颤抖,出冷汗,但还是无法产出任何代码。

所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话:

“我写不出代码了!”

编程的本质是棘手

即使是最优秀的程序员也会遭遇无法解决的软件工程问题。碰到这样的问题,并不一定意味着你缺乏技能或知识。

编程不是一项容易的工作,我们可以通过采取非正统的方法来保持你想要的生产力水平,并确保提交高质量的代码。

如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。我不是胡言乱语——我只是觉得“没有人能够百死不悔”。

没有愤怒和悲伤。因为我已经尝试过所有方向,只是都走不通而已。失去希望,于是开始想辞职不干。我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。

这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。

有成效不?好吧,我从来没听任何专家说过“辞职和萎靡不振”可以造就伟大的代码,所以可能并没有成效。

这就提出了一个问题:我们该如何避免这种没有成效的状态?

如果你想学习前端,可以来这个群,首先是291,中间是851,最后是189,里面可以学习和交流,也有资料可以下载。

重新发现问题,重新发现你的生产力

可能你已经行进在这条路上了。那么此时你只要继续就可以了,我可能没有什么新的东西可以告诉你的。

如果你是新手,那么可能你还不知道如何重新发现生产力。

下面我要分享的内容将有助于你在编程时以一种健康的方式保持生产力,不至于筋疲力竭。主要包括:

  • 测试不同的解决方案,直到感觉重复
  • 在线寻找开源解决方案
  • 向更有经验的程序员询问
  • 如果一切都失败,那就潇洒放手

1 – 测试不同的解决方案,直到感觉重复

在你研究或询问其他开发人员(=浪费他们的时间)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。

显而易见的是,太多的程序员是从询问他人开始的,自己甚至都不曾静下心来分析问题本身。不要成为这样的讨厌鬼,尽可能不要浪费别人的时间。

先投身于工作,然后再寻求帮助。

2 – 在线查找开源代码

当你投入于工作,却没有什么成果的时候,那么下一步你可以尝试开源代码。许多编程人员构建软件,是出于创造解决方案并在线发布以供大家使用的乐趣。有些人发布的代码曾被它们的程序员使用于商业项目。

GitHub是寻找开源代码的两个主要地方之一。另一个是StackOverflow。

这些网站的解决方案是采用可重用代码的形式,方便你在项目中实现。

谨记,使用其他人开发的代码总是有风险的。它可能会以你意想不到的方式改变程序的行为。备份原始代码,这是常识。

3 – 向更有经验的程序员询问

你有没有碰到过这样的情况,向其他人求助却发现你甚至不知道自己在问什么?

在询问任何人之前,你得准备好一些你无法通过网络信息搜索解答的问题。

明确的问题,才能有明确的解决方案。如果是你自己都描述得云里雾里的问题——那么你只会得到一个云里雾里的回答(并且可能会惹恼他人)。

如果你周围没有任何开发者可以询问,那么也可以在线查找。你可以在StackOverflow或MSDN社交论坛上询问,或查找特别针对于你所用技术的Slack频道。

4 – 如果一切都失败,那就潇洒放手

不要一心钻在死胡同里,实在不行,那就去干点别的事——睡觉,吃东西,等等。

你觉得这是在逃避工作?那就错了。

我要告诉你的是,当你最轻松的时候,往往正是解决办法灵机一现的时候,这不是我胡编乱造的,而是有科学的证明。此时你的大脑工作在“发散思维”的模式下,而不是在“集中注意力”的模式下——你可以在这篇文章中了解之间的差异。

总的来说,这个理念就是要你忘记手头的问题,让你的意识心灵沉浸到其他的事情中。此时,你的潜意识则开始连接要点,朝着顿悟的方向前行。

我们可以做些什么以便于帮助大脑在发散思维的模式下工作呢?放轻松就好了:

  • 散步(古代哲学家非常习惯于在走路时演讲,因为他们意识到走路有助于思考)
  • 清理办公室或住所(完成后给自己一个奖励)
  • 与朋友约会,和杯咖啡,聊聊八卦(如果你过于关注问题的话,那么建议和不能提供帮助的非编码人员交谈)

总结

我在编程和生活两者之间保持了一种健康的平衡。

无论你是为了兴趣爱好、钱还是改变世界的宏图伟业而选择编程——编程都不应该是你唯一痴迷的东西,否则你会走火入魔。

最后再说一句,如果你绞尽脑汁,却仍然无法解决问题,那么不妨先放一放。通过潜意识的运作,搞不好突破性的想法就会灵光乍现。

目录
打赏
0
0
0
0
312
分享
相关文章
只有程序员才能懂的暗号是什么?
俗话说:隔行如隔山,如何用一句话不露痕迹地向别人展示自己程序员的身份呢?众所周知,程序员这个职业并不是像医生、律师、老师等职业那样被大家广泛认知和了解的。在社交场合中,我们常常需要向别人说明自己的职业身份,而这时候,如果能够使用一些行业黑话或者暗号,就可以更加自然地向别人展示自己的程序员身份。那么接下来就来简单聊一下。
258 0
只有程序员才能懂的暗号是什么?
作为一个程序员的阴暗面
  一个全栈开发者的自白   迈克尔-米勒 6分钟阅读   你刚从8小时的工作中回家。你一整天都在接听电话和发送电子邮件,试图找到新的线索,以便你能在这个月赚到佣金。回到家,和家人一起在你辛辛苦苦维持的两居室公寓里放松一下,不过是在第二天的工作开始之前的一个单纯的假期。   你和你的伴侣赚的钱只够你们两个人每月支付所有的账单并让你们的家人吃饱。当你坐在餐桌前时,你感觉到你的手机在震动,因为有一条新的信息传来......   这是你的工作。   信息中写道:"明天不要再来了,你已经被替换了"。   当你坐在那里盯着墙壁,无法理解你刚刚读到的内容时,思想开始在你的脑海中飞驰。我们这个月
194 0
不要再叫自己“程序员”了
程序员不要将自己限定在写代码这一单一职能上,需要认清自身商业价值的本质,需要锻炼自己的沟通能力,擅于表现自己。职业只是一种生活方式,并不能完全支配我们的幸福。我们应该为了生活而工作,而不要为了工作而生活。
2585 0
做一个有品位的程序员
参见百湖培训之前,华为的一个小伙伴发现了Git实现的一个 Bug,给我发了一个 Pull Request,让我审核以及代发到 Git 社区。不用看代码,只看 Pull Request 的说明,我相信大家就可以闻到这是一个好代码,写代码的人有品味。 参见:https://github.com/jiangxin/git/pull/25 —— 问:“能够写出正确代码的程序员就是有品味的程序员
1184 0
我女朋友是个程序员
呃。。。开新坑了。神秘的程序员和他/她的家属们的日常系列。这个系列主要是一些比较轻松的中短篇幅故事。 说到这里,也给大家推荐一个架构交流学习群:614478470,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。
976 0
成为一个程序员的准备
1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你) 2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。
1406 0
来自一个程序员的内心世界
一入编程深似海,从此再无双休日.在我们行当一直有这么一个民间歌谣。程序猿很辛苦,这是必然的.路漫漫其修远兮,吾将上下而求索。天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身。
1565 0