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

简介:

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

1.与其他程序员聊天

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

2.和非程序员一起聊天

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

3.有一个专用的工作区

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

4.有良好的开发环境

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

5.秉持开放的态度

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

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

6.阅读优秀的代码

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

7.学习一门新的语言

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

中级:C,C ++

面向对象:Ruby,Python,Java,C#

Functional:Scheme,Haskell,Erlang

Shell:Bash,Zsh,awk,sed

基于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解析器,并特别关注无障碍因素。截至今天,我没有看到太多关于这个主题的代码,所以这可能是一件好事。(这里有一个开源的无障碍测试器,我找到的一个例子,但一个是不够的。)

本文来自开源中国社区 [http://www.oschina.net]

目录
相关文章
|
2天前
|
设计模式 Java 程序员
代码之韵:探索编程的艺术与实践
【5月更文挑战第11天】 在数字世界的舞台上,每一行代码都如同音符,编织出复杂而和谐的旋律。本文将深入探讨编程的本质,从逻辑思维的构建到技术实践的精进,再到创新思维的培养。我们将一起走进程序员的内心世界,体验在面对问题、解决问题的过程中所涌现的技术感悟。这不仅是一次对编程知识的剖析,更是一段关于持续学习与成长的思考之旅。
|
19天前
|
算法 程序员 测试技术
探索代码之美:我的编程哲学
【4月更文挑战第23天】 在数字化的浪潮中,编程已成为一种艺术形式。本文将分享作者在编程实践中形成的技术感悟和哲学思考。从代码的简洁性到系统的可维护性,从快速迭代到持续学习,作者将阐述如何在追求技术卓越的同时保持对生活的热爱和好奇心。这不仅是一篇关于编程技能提升的指南,更是一次关于如何以程序员身份在快速变化的技术世界中寻找定位的思考之旅。
|
2月前
|
设计模式 算法 程序员
代码之禅:从功能实现到艺术表达的技术感悟
【2月更文挑战第15天】 在数字世界的无限画布上,每一行代码都承载着创造的力量。本文透过作者多年的技术探索与实践,探讨编程不仅仅是逻辑的堆砌和功能的实现,更是一种深度思考与艺术表达的过程。从最初的代码拼凑者到后来的架构设计者,再到如今追求代码艺术性的实践者,文章将带领读者一同走进程序员的内心世界,感受那些被键盘敲击声激发出的灵感火花。
|
9月前
|
设计模式 分布式计算 算法
一些令人惊叹的编程方式:
一些令人惊叹的编程方式:
90 1
|
9月前
|
搜索推荐 算法 程序员
探索编程世界的宝藏:程序员必掌握的20大算法(上)
探索编程世界的宝藏:程序员必掌握的20大算法
106 0
|
9月前
|
存储 机器学习/深度学习 自然语言处理
探索编程世界的宝藏:程序员必掌握的20大算法(下)
探索编程世界的宝藏:程序员必掌握的20大算法
97 0
|
9月前
|
机器学习/深度学习 存储 运维
探索编程世界的宝藏:程序员必掌握的20大算法(中)
探索编程世界的宝藏:程序员必掌握的20大算法
114 0
|
10月前
|
算法 Unix Java
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
122 0
|
JavaScript Java 编译器
编程简单科普系列 - 什么是编程 (1)
广义上来说,编程也不仅仅是指关于计算机的范畴,现在通常也指可以diy的东西,可以通过自己想法进行自定义的东西。当然我们这里所说的是指计算机编程. 因为计算机是不能直接听懂我们人说话的,没办法直接沟通,所以我们需要通过编程语言来跟计算机进行沟通,通过编程语言把我们想表达的转化为计算机能听懂的,在这里编程语言就相当一个翻译(比如,我们不会英文,准备要和一说英文的外国人谈生意,这时候就需要找一个英文翻译,替我们把想要表达的中文翻译成对方听得懂的英文。)其实严谨点这个比喻说也不准确,因为编程语言一般是需要通过编译器或者解释器编译解释之后,才能为计算机所识别. 每个计算机编程语言,都有自己的编译器或者解
307 0
|
设计模式 算法 IDE
学好编程的 4 个秘诀
学好编程的 4 个秘诀
142 0