`

提高编程技能最有效的方法

 
阅读更多

原文:http://www.dev26.com/bbs/topic/340

StackExchange.com上有两个贴子(贴子一贴子二),贴子名叫“What is the single most effective thing you did to improve your programming skills?” – 对你的编程技术提高最有效的一件事是什么?回复的人中给了很多很不错的建议,我把他们总结了一下,十条,相信一定会对你有用。(注意:顺序是我自己按我的个人经验排的)

  • 和比自己聪明的能力比自己强的人工作。学习他们的代码,他们的做事方法,看一看那些人是怎么处理错误的。

  • 总是倾听别人怎么说,无论那个的资历和职位是什么样的。

  • 实践,实践,实践,总是不满意于一开始出来的事。

  • 多问问自己,现在在写什么代码?为什么要这样写成这样?还有没有更好的方法?

  • 学习多样的技术,多多比较他们,并一定要了解各种技术的优缺点。

  • 总是问别人问好的问题。

  • 多回头看看走过的路,做过的事,写过的程序,感觉一下他们有多烂。

  • 多读读那些大师写的书。

  • 不要总坐在电脑前编程序,多做做运动,多到户外走走,和非技术人多接触,向他们学习。

  • 把你的想法说出去,看看别人怎么回应的。从别人的回应中学习。

除了这些,下面是我个人想给你的建议——

 

可能只能算精神,不能算方法。我以前也写过《五个方法成为更好的程序员》,《十条不错的编程观点》,还有《优秀程序员的十个习惯》这几篇文章也能给你一些启发。

  • 热情。对编程充满热情。这种热情会导致强烈地专研精神,和努力的精神。专研精神相当重要,它是畏难情绪的天敌。

  • 知道。学习技术要“知其道,明其理”,而不仅仅只是了解知识。举例,为什么C++有“初始化例表”而Java却没有?为什么Java的没有多重继承?为会有了TCP还要UDP?对于一个事物,什么是好的,什么是不好的。不但要了解其表面,还要了解其思想。只有了解原始的初衷和目的,你才能真正“知道”。

  • 犯错。不犯错误永远没有经验,从自己的错误和别人的错误中学习,只有自己犯了错,才会真正明白。犯错不可怕,可怕的是不会总结只有真正的摸爬滚打过的人才是强人。技能和经验总是用错误去换来的。

  • 回顾。要多去回顾过去,看看历史上发生过的事。这样你才能明白事物的发展规律,从面才能了解未来的路。举例:单机 -> Client/Server -> 中间应用层 -> 多层结构 -> 分布式结构。 C -> C++ -> Java,等等,等等。未来其实就在回顾过去之中。

  • 质疑。质疑精神很重要。质疑通常会导致不同意见甚至反对意见。也许你会质疑错,也许你会被质疑,但是你的认知也会因为不同的观点而变得完整。有所同有所不同(“同”为同意及相同),观点因为不同才能迸发出火花,事物也此而发展,世界因为不同而精彩。

分享到:
评论

相关推荐

    你所做过最有效提高编程技能的事情是什么?

    回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能——阅读代码,编写程序,阅读书籍,听讲  最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的...

    代码阅读技巧-编程能力提高的最有效途径

    介绍代码阅读,对编程的理解,有助提升编程思想。

    你做过的最有效的提高你的编程水平的一件事情是什么

    回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能——阅读代码,编写程序,阅读书籍,听讲  最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的...

    Python经验简述.txt

    本文旨在为Python编程学习者提供有益的指导和建议,帮助他们更加有效地掌握Python编程技能,为未来的职业发展做好准备。 关键词:Python编程语言;学习经验;经验分享 一、引言 1.1 背景 随着信息技术的迅速发展,...

    编程竞赛题目.zip

    首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在...

    论文研究-基于GEP-BP网络集成的蛋白质二级结构预测方法研究.pdf

    首先利用基因表达式编程(GEP)的全局搜索能力同时进化设计BP网络的结构和连接权,并将进化最后一代的个体用BP算法进一步训练学习,然后采用组合方法将部分个体集成构成模型的第一层;根据神经网络输出之间具有...

    2024年最全Eclipse安装和配置环境教程.zip

    本教程深入探讨了Eclipse集成开发环境(IDE)的高级特性、最佳实践以及如何更有效地利用它来提升编程技能。内容包括工作空间管理、代码重构、集成外部工具和框架、性能优化、自定义Eclipse界面等。同时,还介绍了...

    Java并发编程(学习笔记).xmind

    委托是创建线程安全类的最有效策略,只需要让现有的线程安全类管理所有的状态 在现有线程安全类中添加功能 将同步策略文档化 基础构建模块 同步容器类 分类 Vector Hashtable 实现...

    单片机设计与KeilC编程.doc

    单片机设计与KeilC编程总结 1基本原则 质量是关键。没有人会对很差的工作感到满足。当完成高质量的工作时,你会为此 而感到骄傲。不管你是否知道,你都会因为你的高质量工作而得到信誉。因此,要想为 自己所做的事...

    2024年Android Studio 安装配置教程 - Windows(详细版).zip

    适用于需要使用Android Studio进行Android应用开发的场景,目标是通过掌握Android Studio的高级特性和最佳实践,提高编程效率和质量,更好地管理和组织代码,以及更有效地进行版本控制和测试。 **其他说明:** 本...

    CompetitiveProgramming:比萨大学计算机科学系“竞争性编程与竞赛”课程的页面

    该课程的目的是通过面对学生面临的难题并提出有助于他们推理实施正确和有效解决方案的技术,从而提高他们的编程和解决问题的能力。 这些技能的重要性已被全球最重要的软件公司所认可,这些公司主要通过解决此类难题...

    python的turtle库绘画:浪漫恋人和红玫瑰

    能学到什么:学习操纵海龟绘图许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令等,提高编程写代码能力。 阅读建议:建议边阅读边做实验,使用VScode运行,观看效果...

    linus源码进程管理和死锁避免相关代码解读.zip,课程设计优秀等级

    6、提高运用操作系统知识解决实际问题的能力,锻炼实际的编程能力,提高调查研究的能力,提高查阅技术文献、资料以及编写软件设计文档的能力。 本次课程设计的内容是采用银行家算法,编写和调试一个仿真模拟银行家...

    银行家算法课程设计报告加模拟程序设计,优秀等级

    6、提高运用操作系统知识解决实际问题的能力,锻炼实际的编程能力,提高调查研究的能力,提高查阅技术文献、资料以及编写软件设计文档的能力。 本次课程设计的内容是采用银行家算法,编写和调试一个仿真模拟银行家...

    计算机基础课程逻辑思维能力细节教学探讨.doc

    本文旨在通过细节教学的方法介绍如何把握这些课程的学习 ,从而提高广大学生利用计算机解决实际问题的能力,同时也希望能为计算机专业的学生 更好的学习和把握计算机的方向打下一个坚实的基础。 关键词:计算机基础课程...

    论文研究-一种基于可信度的不确定性推理及其神经网络实现.pdf

    改进的BP神经网络在实现不确定性推理方面有效避免了沿用传统方法所带来的规则数激增及推理缓慢等缺陷,并提高了网络的泛化能力。仿真示例表明,它不仅可以自动学习和模拟专家的典型经验,而且还可以将专家的典型经验...

    React 设计模式和最佳实践(高清中文)

    本书共分为 12 章 , 通过介绍 React 中最有价值的设计模式 , 展示如何将设计模式和最佳实践应用于现 实的新项目和已有项目中 。...本书适合想要深入理解 React , 希望提高相关编程技能的前端开发人员阅读 。

    JspRun社区论坛系统 6.0 简体UTF8源码版

    JspRun!是飞速创想(北京)科技有限公司推出的一套通用的社区...系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价

Global site tag (gtag.js) - Google Analytics