本文主要是介绍代码的创造性:向程序员学创造性的14种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对程序员传统的看法一般是这样的:书呆子,兜里揣着防止钢笔漏水的塑料片,以及,非常、非常的无聊。一般没有人会把程序员和创造性两个词放在一起。 不过,这样的看法错的不能再离谱了。事实上,编写代码是一个人能做的最优创造性的事情了。 程序编写者必须在两个完全不 同的世界——结构的世界和想象的世界——之间求取平衡。他们使用一种非常结构化的语言,却实现了很抽象的概念。这可不是简简单单的工作。
我能够知道这些,是因为我最近重新温习了一下我那少的可怜的PHP知识,写了一些有趣的网站(别着急,我会告诉你们最新的进展的)。我刚发现写程序 是一种真正的能锻炼创造性的好方法。这是因为:
- 编写城西能够给你绝对的控制权。从无到有的建造一个东西就是创造性的最好的例子。程序员拥有一个软件或者网站的绝对的控制权,他/她可以 按照自己的意愿让它变成任何东西。
- 完成一件事情的多种方法。为了建立一个网站,程序员必须首先建造一个构架。他们有目的的奠基,在最后到达那个目的前,一切都只是个想法。 程序员使用大量的能找到的工具和方法。
程序员们必须找到创造性的解决方案,否则就会什么也创造不出来。
程序员是打破框框进行思考的最好的例子,怎么说呢……程序员实际上就是“框框”的创造者。以下就是一些可以从程序员那里学到的,促进创造性思维的方 法:
1. 学习一种新的语言
程序员总是在学新的语言,无论是出于爱好还是需要(T_T)。不要把自己局限在现在的知识范围里并乐在其中。扩充自己,学习新的技术。
2. 从最基础开始
如果你准备写一个软件,你不可能一开始就完成好大一部分。你必须从“第一块砖”开始。有些时候,要想找到一种创造性的解决方案,最好的方法就是回到 起点,重新审视做过的工作。
3. 质疑精神
质疑精神就是说,审视每一种假设,然后确定这样是对的。所有的编程工作都建立在一些最基础的假设之上。如果软件架构的底层代码出问题了,那么整个软 件就有可能无法正常工作。
有时候创造会受限于假设。这时候只需要放弃这些假设,换一个全新的视角去思考,就会找到创造性的解决方法。
4. 把这当作娱乐
如果你认识一些程序员,你会发现他们总是在不停的做这些什么。即使是已经完成了一天的工作,他们总会画几个小时在做自己的有趣的东西。他们喜欢“忙 着”。
不断的把新的想法和解决方法“烘焙”出来,不应该被看做是琐碎的小事。你应该把它看做一种休闲,而且会很有趣。
5. 永远不要停止尝试自己的想法
程序员总是在不断的修剪(重构)代码,以使它们尽可能地高效。即便是微小的改动都有可能让程序或者网站挂掉,所以,对于每一个程序而言,不断的测试 和改进都是非常重要的。
想法都必须经过严格的验证,并按照一定的要求进行修正。你的想法总会变的,只不过是变多少的问题。不断的评估和重新思考,是“修剪”你的想法的一个 很棒的方法。
6. 培养激情
如果你尝试过和一个程序员谈论他的工作两分钟以上,你很快会发现这个程序员对自己的工作充满激情。他们吃程序,睡在程序上,甚至呼吸着程序。
对于你自己的想法,你有这样的激情么?
7. 精通手中的工具
程序员会不断的厉声自己的知识和对工具的掌握。一个好的程序员会密切关注软件的发展,不停地在尝试新的方法来提高自己对他们的掌控能力。你很难发现 那个程序员不会打造他自己的“工具箱”。
无论你的能力如何,你对工具的熟练程度总会限制你能力的发挥。越能熟练掌握手中的工具,就越有能力去创造。
8. 把抽象的东西放在一起
- 你需要在电脑上打电话么?
- 能不能在网上编写word那样的文档呢?
- 人们会关心其他人都在做什么么?
创造Skype、Google DOC和Twitter的人们都有这样一个共同点:他们能把不同的抽象的想法融合在一起。找到这些 “假如”并实践它们是一个很棒的的开始,开始去从不同的角度、更有创造性的角度来思考问题。
9. 把架构看成一种工具,而不是一种限制
人们总会把创造性和“一块巨大的画布,以及让自己的思想任意驰骋其上”联系起来。然而,这种想法有一个很严重的问题:这只是一个关于创造性的神话。
看,到处都有限制。我们无从躲避,只有适应其中。程序员会拥抱程序语言或者开发工具的局限,并乐在其中。这些限制成为他的工作的基础。有 些时候,一些边边角角的发现,会导致十分伟大的想法。 需求才是创造之母。
10. 尝试之前不要排除任何可能
幼儿园老师说的没错:没有任何问题是愚蠢的。如果你(没有)做到第3条并且无视任何假设,在你尝试之前,你永远都不会知道它到底可不可行。如果你不 尝试,你又怎么知道它能不能行呢?你或许会很惊奇,即便这个提议失败了,它有可能会引导你走向一个解决方案。
有些时候,最好的方法是创建一个原型,然后对它进行测试。如果这个原型不可行,就放弃它。不然的话,你有可能会于一种可行的方法失之交臂。
11. 一直都要去寻找更简单和优雅的解决方案
好的程序员知道,找到最简洁的解决方案的办法就是不停的去寻找。复杂的疗法经常对导致……并发症。而程序的目标一直都是长时间的平稳的工作。
我们的想法有时候太复杂了,以至于我们经常沉浸于让想法的更新奇,而忘掉它的实用性。最简单的解决方法总是最好的。
12. 不要恐惧使用别人的代码
Internet好就好在,你所想做的没准儿已经有人做好了。当我要写一个网站的时候,我总是采用已经存在了的开源程序。何必要重复发明轮子呢?
实现一个不错的想法,并不意味着你要从白纸开始画起。完全可以修改和改进已有的方法来达到自己的目的。有时候,一些伟大的想法只是 修改自已经存在的东西。 Gmail就是一个很好的例子,它只是在传统的Email里填上了更有用的东西。
13. 不要害怕合作
一些最好的程序——或者任何有创造性的项目——都是由不止一个的杰出的人们,向着同一个目标而共同创造的。召集一支队伍,采用无论谁怎么想出来的杰 出的想法,让每一个人都能贡献其中。
14. 从最简单创造美
程序员会不断的重复使用一些代码,这些代码并不需要很“漂亮”,但是它们组合在一起却能创造出让人惊叹的程序。无论你要做什么“创造性”的工作,要 注意那些细节,特别要注意细节对全局产生的影响。
来自:http://www.yeeyan.com/articles/view/Rivendare/12092
原 文:Creative Code: 14 Ways to Learn From Creative Programmers
这篇关于代码的创造性:向程序员学创造性的14种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!