程序员获取编程灵感的 10 种方式

有时我会陷入读着编程书但编不了程的陷阱。我不能总是找到一个可工作的有趣项目,即使我知道有大量的机会。如果你有相同的问题,这里的一些提示可能会有所帮助。

1.与其他程序员聊天

这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会给你一个新的视角。

2.和非程序员一起聊天

首先,在那些让你觉得快乐或挑战思维的人身边,会让人健康,无论他们是否会写代码。第二,他们可以从用户的角度给你灵感。什么会让他们对计算机感到失望?你能想出解决方案吗?

3.有一个专用的工作区

如果不可能有一个专门的空间,那么至少确保工作时能够安静,以便于你可以专注于计算机,而不受干扰。让这个地方成为你的“革命根据地”。确保椅子舒适,可以支撑背部。手边备好水。不要一整天坐着不动——保持健康。

4.有良好的开发环境

上一个方法提示的软件版本。我不在乎你使用哪个编辑器(虽然我推荐vim),但确保你使用一个可以给你一些力量和灵活性的编辑器。总是使用源代码控制——尤其我建议你学习git,因为它会教你概念。始终备份工作。所有这一切将防止你在你不使用它们时可能会遭遇的极度灰心丧气,从而失去工作。

5.秉持开放的态度

阅读你尊敬的程序员的Twitter Feed和博客。(如果你想的话,可以看看我的twitter feed——大多是程序员。)RSS阅读器,例如Ruby Inside或者老式的Planets,都可以是很好的新闻来源,因为它们会添加突出的新程序员,而不必你去搜索。选择一些你通常不会阅读的主题的博客,并订阅它们。

是的,这可以让你陷入阅读代码而不写代码的陷阱,但进入更大的编码生态系统对你是有益的,是激发思绪的源头。

6.阅读优秀的代码

想想你喜欢的一些软件,然后看看软件的源代码。有什么问题?你如何从中学习,或者更好的是,你可以怎么改善这个软件?有很多好代码的源,但GitHub必然是最好的之一。GitHub博客上的GitHub Rebase系列列出了一些值得注意的新项目,如果你想要了解更多细节的话。

7.学习一门新的语言

这是一个经常被提到的经典建议。我建议学习一些以下类别中提到的东西:

  1. 中级:C,C ++
  2. 面向对象:Ruby,Python,Java,C#
  3. Functional:Scheme,Haskell,Erlang
  4. Shell:Bash,Zsh,awk,sed
  5. 基于Set:SQL

你所知道的语言越多,你就越需要用任意的语言来思考问题。你能以更多的方式思考,你就越容易找到有趣的方法来解决问题,因此找到一个激动人心的项目。(当然,不要局限于这个列表。)

8.学习好的技巧

而不是一种特定的语言,从书中学习好的通用技术,如《The Pragmatic Programmer》,《Structure and Interpretation of Computer Programs》,和《The Little Schemer》。(最后两本特别关于Scheme,但非常好,很值得一读。)

9.找一个娱乐项目

有一个娱乐项目是很令人愉快的,当你在其他项目上受到挫折时,你就可以转而去搞搞娱乐项目。不管是什么样的娱乐项目,只要你有即可。不要感到被迫分享它或使它成为某种成功——它只是帮助你解决问题的玩意儿。

10.写一个游戏

很多人认为编写游戏是在浪费时间,因为很少有独立游戏在商业上是可行的,但如果你是玩家,那么还是写一个吧。它是治疗性的,有很多深刻的概念会在你在工作的时候自然而然地浮现在你脑中。我就写了一些小游戏,几乎所有都没有发布过;它们是试验,也是宝贵的经验财富。如果你不知道怎么起头,那么试试Roguelike。

11.采取暴力方法

我知道,题目说是10个方法,但是这一条是在你真的有了灵感之后的奖励提示。看看你的编程书籍,RSS订阅,twitter,Stack Overflow或任何其他编程信息的源。找到两个不相关的主题,甚至你只觉得略有趣味。现在找到方法来连接两者。即使有点模糊。

例如,就随机的,我选择了解析器和…无障碍环境。你可以了解它们,然后编写一个HTML解析器,并特别关注无障碍因素。截至今天,我没有看到太多关于这个主题的代码,所以这可能是一件好事。(这里有一个开源的无障碍测试器,我找到的一个例子,但一个是不够的。)

原文发布于微信公众号 - Java学习网(javalearns)

原文发表时间:2017-03-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网数据官iCDO

手把手教你用Excel分析网站流量(实例讲解)

前言:随着运营精细化发展,如何通过品牌沉淀的数据挖掘出更多优化可能,是每个运营、产品甚至技术的必修课。这篇文章将主要阐述我是如何通过发现问题、提出猜测、验证猜想...

41115
来自专栏飞雪无情的博客

2018 新年快乐 万事如意

可能有的朋友注意到了,下半年开始写了一些非技术的,这个也比较正常,因为我本身是做技术管理的,所以除了技术本身的基础之外,还会写一些管理、职场、学习等方面的文章,...

1063
来自专栏BestSDK

10种方式,让你的编程灵感不断

1、与其他程序员聊天 这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会...

2915
来自专栏我是攻城师

无论是云计算SaaS,PaaS还是IaaS,拼的都是运维!

5634
来自专栏罗超频道

今天凌晨这个小动作,让微信完成复制中国互联网的最后一步

6月6日凌晨,苹果WWDC 2017年召开让许多人忽视了微信的一个重量级更新:微信公众账号图文消息正式允许插入第三方内容。微信内容运营者在编辑图文消息时,可以插...

3225
来自专栏云计算D1net

云计算:拼的是运维

云计算的IaaS、PaaS、SaaS最后那个S都是Service。就是说,无论你云计算长成什么样,都得要向用户提供“服务”而不仅仅是软硬件和各种资源。 【云计算...

6929
来自专栏FreeBuf

基于开源程序漏洞的攻击在2017年将增长20%

现在,无论是商业软件还是程序员自行开发的小程序,开源代码已经变得越来越普遍了,而开源似乎也已经成为了一种趋势。但需要注意的是,Black Duck软件公司的研究...

2118
来自专栏腾讯移动品质中心TMQ的专栏

众测实战经验小结

随着互联网浪潮的推进,手机 App 进入了高速发展期,随之而来 App 的“不可替代性”也越来越弱化。

2731
来自专栏喔家ArchiSelf

浅谈FPGA与音频处理器的结合

FPGA通常是面向通信行业,尽管其主要开发者仍然专注于通信应用, 但他们越来越关注存储和服务器市场。

1094
来自专栏牛客网

前端校招不要只关注面经,项目经验也需要准备

【每日一语】在年轻的时候,在那些充满了阳光的长长的下午,我无所事事,也无所惧怕,只因为我知道,在我的生命里有一种永远的等待。挫折会来,也会过去,热泪会流下,也会...

1212

扫码关注云+社区

领取腾讯云代金券