程序员获取编程灵感的十种方式
ymui2391
8年前
<p>有时我会陷入读着编程书但编不了程的陷阱。我不能总是找到一个可工作的有趣项目,即使我知道有大量的机会。如果你有相同的问题,这里的一些提示可能会有所帮助。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/eefae3534822b9aecefed53e6503d89d.png"></p> <p><strong>1.与其他 程序员 聊天</strong></p> <p>这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会给你一个新的视角。</p> <p><strong>2.和非程序员一起聊天</strong></p> <p>首先,在那些让你觉得快乐或挑战思维的人身边,会让人健康,无论他们是否会写代码。第二,他们可以从用户的角度给你灵感。什么会让他们对计算机感到失望?你能想出解决方案吗?</p> <p><strong>3.有一个专用的工作区</strong></p> <p>如果不可能有一个专门的空间,那么至少确保工作时能够安静,以便于你可以专注于计算机,而不受干扰。让这个地方成为你的“革命根据地”。确保椅子舒适,可以支撑背部。手边备好水。不要一整天坐着不动——保持健康。</p> <p><strong>4.有良好的开发环境</strong></p> <p>上一个方法提示的软件版本。我不在乎你使用哪个编辑器(虽然我推荐vim),但确保你使用一个可以给你一些力量和灵活性的编辑器。总是使用源代码控制——尤其我建议你学习git,因为它会教你概念。始终备份工作。所有这一切将防止你在你不使用它们时可能会遭遇的极度灰心丧气,从而失去工作。</p> <p><strong>5.秉持开放的态度</strong></p> <p>阅读你尊敬的程序员的推ter Feed和博客。(如果你想的话,可以看看我的推ter feed——大多是程序员。)RSS阅读器,例如Ruby Inside或者老式的Planets,都可以是很好的新闻来源,因为它们会添加突出的新程序员,而不必你去搜索。选择一些你通常不会阅读的主题的博客,并订阅它们。</p> <p>是的,这可以让你陷入阅读代码而不写代码的陷阱,但进入更大的编码生态系统对你是有益的,是激发思绪的源头。</p> <p><strong>6.阅读优秀的代码</strong></p> <p>想想你喜欢的一些软件,然后看看软件的源代码。有什么问题?你如何从中学习,或者更好的是,你可以怎么改善这个软件?有很多好代码的源,但GitHub必然是最好的之一。GitHub博客上的GitHub Rebase系列列出了一些值得注意的新项目,如果你想要了解更多细节的话。</p> <p><strong>7.学习一门新的语言</strong></p> <p>这是一个经常被提到的经典建议。我建议学习一些以下类别中提到的东西:</p> <ol> <li> <p>中级:C,C ++</p> </li> <li> <p>面向对象:Ruby,Python,Java,C#</p> </li> <li> <p>Functional:Scheme,Haskell,Erlang</p> </li> <li> <p>Shell:Bash,Zsh,awk,sed</p> </li> <li> <p>基于Set:SQL</p> </li> </ol> <p>你所知道的语言越多,你就越需要用任意的语言来思考问题。你能以更多的方式思考,你就越容易找到有趣的方法来解决问题,因此找到一个激动人心的项目。(当然,不要局限于这个列表。)</p> <p><strong>8.学习好的技巧</strong></p> <p>而不是一种特定的语言,从书中学习好的通用技术,如《The Pragmatic Programmer》,《Structure and Interpretation of Computer Programs》,和《The Little Schemer》。(最后两本特别关于Scheme,但非常好,很值得一读。)</p> <p><strong>9.找一个娱乐项目</strong></p> <p>有一个娱乐项目是很令人愉快的,当你在其他项目上受到挫折时,你就可以转而去搞搞娱乐项目。不管是什么样的娱乐项目,只要你有即可。不要感到被迫分享它或使它成为某种成功——它只是帮助你解决问题的玩意儿。</p> <p><strong>10.写一个游戏</strong></p> <p>很多人认为编写游戏是在浪费时间,因为很少有独立游戏在商业上是可行的,但如果你是玩家,那么还是写一个吧。它是治疗性的,有很多深刻的概念会在你在工作的时候自然而然地浮现在你脑中。我就写了一些小游戏,几乎所有都没有发布过;它们是试验,也是宝贵的经验财富。如果你不知道怎么起头,那么试试Roguelike。</p> <p><strong>11.采取暴力方法</strong></p> <p>我知道,题目说是10个方法,但是这一条是在你真的有了灵感之后的奖励提示。看看你的编程书籍,RSS订阅,推ter,Stack Overflow或任何其他编程信息的源。找到两个不相关的主题,甚至你只觉得略有趣味。现在找到方法来连接两者。即使有点模糊。</p> <p>例如,就随机的,我选择了解析器和…无障碍环境。你可以了解它们,然后编写一个HTML解析器,并特别关注无障碍因素。截至今天,我没有看到太多关于这个主题的代码,所以这可能是一件好事。(这里有一个开源的无障碍测试器,我找到的一个例子,但一个是不够的。)</p> <p> </p> <p>来自:http://developer.51cto.com/art/201612/524406.htm</p> <p> </p>