编程的一些成功经验
来源:互联网 发布:伽罗 神思者 知乎 编辑:程序博客网 时间:2024/05/09 18:20
编程的成功经验
对编程产生感兴趣并因为乐趣而写程序。确信你自始至终都能乐在其中,这样你才愿意将十年光阴投入编程事业.
与其他程序员交流;阅读别人的代码。这比任何书任何培训都重要。
不断地编写。 最好的学习方法是在实践中学习 。
从技术角度说,”在特定领域的个人最高效率并不因为经验够多就会自动获得;但若有意识的通过努力去提升经验,个人效率会变高”(第336页)而 “高效的学习一般需要明确的任务和因人而异的适当难度,以及及时的反馈和重复或者修正错误的机会”(20~21页)Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life (实践中认知:心智、数学与日常文化) 是这个观点的一本有趣参考书籍。
如 果你愿意,你可以去读四年大学(或再读研究生)。这可以让你满足一些工作的学历要求,同时也可让你对这个领域有更深的认识。但如你不喜欢上学,你也能(得 有牺牲)通过工作获得类似的经验。无论如何,只读书是不够的。《New Hacker’s Dictionary》的作者Eric Raymond 曾经说过: “计算机的教育无法让人成为编程的专家,正如研究画笔与颜料不能让人成为专业画家一样.” 一个在我所有招聘过的人中属于最优秀之一的程序员只有高中毕业,但他写出很多很棒 的程序,他甚至有自己的新闻组。他获得的股票期权使得他可以拥有自己的午夜酒吧.
跟其他程序员一起完成项目。在一些项目中成为最好的程序员;在一些中则充当最差的一个。当你是最佳的,你要测试自己领导项目的能力,并以你的能力鼓励他人。当你是最差的,要看看高手做些什么,他们不喜欢做什么 (因为他们会叫你去帮他们做).
接手别的程序员完成项目。全心投入并理解别人的程序。当原作者不在的时候,看看在理解与修改时有什么要注意的。想想如何设计你的程序使得后来维护的人容易上手。
至 少学会六门编程语言。一种要支持类/对象(class abstractions)的语言, 如Java或C++; 一种函数式(functional abstraction)语言, 如 LISP 或 ML; 一种支持语法抽象(syntactic abstraction) 的语言 如 LISP; 一种声明式语言, 如Prolog或 C++模版; 一种支持协同式(coroutines)编程, 如 Icon 或 Scheme; 还有一种支持并行(parallelism)的语言, 如 Sisal.
记住在 “计算机科学” 中包括”计算机” 这个词。要知道你的计算机执行一条指令需要多久,到内存中取一个字需要多久(缓存是否击中), 到磁盘读取连续的字需要多久,而磁盘的定位又需要多久. (解答见文末)
进行语言标准化的工作。可以像是由ANSI C++ 委员会,或由你自己的团队,来决定你们的编码风格,譬如说缩排是2或4个空格。不管怎样,你都能学到别人到底喜欢什么,对语言的感受有多深,甚至能了解到一点他们为什么有这样的感觉。
并具备良好的判断力,也别老纠缠在语言标准化上.
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2010/0523/22923.php
- 编程的一些成功经验
- 编程的成功经验
- 日本手机游戏的成功经验
- 软件测试自动化的成功经验
- Del.icio.us的成功经验
- 软件测试自动化的成功经验
- 软件测试中自动化测试的成功经验
- 转:软件测试自动化的成功经验
- 创业的100个成功经验方法谈
- Windows 7安装gtk2hs+glade的成功经验
- 全球十大物流企业的成功经验借鉴
- 经典:创业的100个成功经验方法谈
- 配置APACHE使其支持php的成功经验
- 虚拟机下redhat内核升级到2.6.16的成功经验
- 分享我的个人电子商务创业路成功经验
- 虚拟机下redhat内核升级到2.6.16的成功经验
- 安装MYSQL之转移数据目录的成功经验
- 经典:创业的100个成功经验方法谈
- ASMX
- WCF配置文件全攻略
- WCF部署中app.config注意项
- sizeof 介绍
- 做个任务先~~~~~~~
- 编程的一些成功经验
- MAC层资源管理
- MAC
- RLC数据块的拆分和重组
- RLC数据块的拆分和重组2
- 资源预留过程
- java生产消费线程小例子
- 希望大家多多帮助!
- ubuntu下配置android开发环境