本人不才,在编程上也有三年多时间了呵呵,具体的说,在学校的三年里大概有两年多时间编程,现在则是职业coder了,这个月是我入职五个月的日子,在这里梳理一下我的编程思路,同时也做一下总结,同时也希望跟大家交流一下,互相提高。毕竟,大家都想提高自己的薪金,呵呵。
首先,我觉得在code中,学习能力是最重要的东西,毕竟新东西总是出现的太多太快,这就需要不断学习。而学习这些东西时也有一个学习速度和把学习到的东西迅速应用到当前项目中的问题,这就是知识掌握速度和知识转化为应用的问题。以前在学校的时候,我在接触一个新东西时,一般是买一本这方面的书,然后照着里面的例子做一些,比如Hibernate、Spring之类,这样对这个东西就会掌握比较全面和深刻一些,在遇到一些问题时也会迅速判断出问题出现在什么方面,但是速度上会比较慢些。后来慢慢地就是到网上找些材料看了,尤其是一些网站会提供一些get start一类的入门材料,耐心看下去,也会迅速掌握,但是我觉得这种方式实际上还是有些片面的,因为get start的材料才注重入门,深入一点的东西和基本原理都不会讲,现在我一般是会先下载一些sample code,先看看这里面的代码,然后再带着不懂的地方去看get start材料。在我接触的人中,有些是有着七八年工作资历的大牛(说他们牛一点都不过分,呵呵,不少是以前公司的技术总监)们,他们则更牛了,他们怎么学习新东西我不知道,但是我知道他们在遇到什么问题时,会直接去看源码,甚至时间充裕一点的话他们也会把源码大概看一遍,例如我的PM就把Hibernate、Spring之类的源码都通读了,在这一点上,我觉得还是有差距的,应该向他们学习,多读源码。
其实在学习新东西方面也是有知识迁移的,如果你本身知识就比较少,什么都是新接触的,那么自然会比较慢。如果你学习过的东西已经很多了,那么再接触新东西时一般会比较快些。
再者,在Code中就是调试了。这方面我觉得Robbin定的“提问的智慧”上说的很对,很多问题都是由于粗心导致的,“比如说多写了一个空格,用=判断相等,关键单词拼写错误,大小写敏感等等。”,这些问题的确是别人帮不了你的,需要自己的用心和耐心。记得当时刚开始编程时,大师兄经常帮我们调试,发现最多的其实还是这类问题,在这里再次向大师兄谢一个。
一般而言配置性的信息更容易出现拼写错误,因为如果编辑器好的话,源代码基本的拼写错误基本上是不会有的,但是用=判断,在Eclipse中我也遇到过了呵呵(汗一个),在出现问题时,首先是细心的检查有没有拼写错误。,昨天晚上还遇到这么一个问题,只是因为我引用变量时忘记了写{},耗掉了我5分钟的时间。
一个减少这种低级错误的方法就是尽量不要copy 大段代码,尽量看清其中的逻辑后自己写,这样可以避免很多变量问题,同时也可以在code中思考,有利于发现问题和重构。
如果一个问题没有见过,那么我一般就会到google上去搜索了,我一般喜欢用google.com,而不是google.cn来搜索,因为这样会查出来更多的内容,尤其是Websphere之类的问题(都快被websphere搞疯了,动不动就需要重启项目,甚至是server,而且这个玩意(WPS)一起来就需要四五百M内存,整一个破玩意,WAS还要好些)
还有一个需要注意的是在编程时尽量要专注,记得刚才做过什么,这样在出现问题时可以迅速排查见过一边调程序一边看新闻的,也见过专注着盯着无聊的console message的人,一般而言,后者更能迅速发现问题所在。
还有就是要备份了。问题可能随时出现,尤其时越紧张时,越会出现一些问题,这时候解决的代价相当高。所以当build好一个基本可用的应用后,我就会export出来,而不是等到所有功能都完善了才export出来一个备份,其实这也是一个milestone,以后如果有问题,起码可以迅速恢复到这种状态,不至于不可收拾。另外我觉得SVN、CVS之类的代码管理工具实在是太有必要了,我个人的感受时,如果写代码,就尽量用这些东西管理,除非你写code是为了玩。当出现不问题时,起码你还可以会后退,给自己留一个后路,不然,当你调试不出来时,有时会很难堪的。当然,这可能也和我debug能力不强有关,有些人则是在遇到问题时一往直前,直到解决,而我则是先后退一个,看看两者到底有什么差异。
在debug方面比较有感触的是,很多debug经验都是在深夜里与程序亲密接触时得到的,是用程序员的心血和汗水以及睡眠时间换来的,我所遇到的那些高手大部分都如此,在深夜里,伴随的只有硬盘的轻吟和屏幕上频出的Exception和error,当然可能也会有弥漫的咖啡香味,这,是不是也是程序员水平提高的一条道路?
先写这么多吧,有空再慢慢加。
分享到:
- 2007-10-20 12:04
- 浏览 2645
- 评论(6)
- 论坛回复 / 浏览 (6 / 3341)
- 查看更多
相关推荐
对java并发知识的完整梳理,可以通过该文档了解到并发整个知识体系。
读书笔记:Java 并发编程知识梳理以及常见处理模式 features and patterns
网络编程知识点梳理的思维导图
JUC并发编程知识点梳理思维导图
以脑图的方式,结构非常清晰的整理并发编程,多线程相关用到的知识清单。
“思维导图”是学习过程中的一种重要工具,可以帮助孩子们梳理编程知识结构,形成系统化的认知。通过思维导图,孩子们可以清晰地看到编程知识的关联,提高记忆效率,培养良好的学习习惯。 总的来说,这个压缩包为...
而思维导图则帮助孩子梳理编程思路,提高解决问题的能力。 特别提及的是,这些课程资料也与“蓝桥杯”竞赛相接轨。蓝桥杯是一项全国性的青少年编程比赛,旨在通过比赛的形式激发学生的编程热情,提升其信息技术应用...
根据给定的文件信息,我们可以梳理出以下关于Linux编程——高级编程方法的知识点: 1. Linux编程的重要性: Linux是一个多用户、多任务的类Unix操作系统,它在服务器、桌面和嵌入式系统等领域得到了广泛的应用。...
每个主题都配备了相应的课程资料,通过思维导图帮助孩子们梳理知识结构,通过程序代码让他们亲手实践,从而更好地理解和掌握Python编程。这些课程设计既有趣又富有挑战性,旨在激发孩子们的创新精神和编程热情,为...
通俗来讲,Python 是一种少有的、既简单又功能强大的编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。 Python 在通用应用程序、自动化插件、网站、网络爬虫、数值分析、科学计算、云计算、大数据和...
JAVA并发编程体系梳理脑图
这些编程语言和工具的差异源于两类编程人员的不同背景和技术习惯,单片机编程人员通常具备电子信息技术开发经验,而PLC编程人员多来自电控领域,对继电器系统比较熟悉。 尽管单片机和PLC在编程语言风格上有较大差异...
在信息技术高速发展的今天,程序员们在日常工作中不断探索、创新,积累经验。为了更好地管理和记录这些宝贵的编程心得,一款名为“编程记事本Note2.0”的软件应运而生。这款工具以其独特的功能和便捷的操作,成为了...
《编程高手箴言》是梁肇新所著的一本旨在分享编程经验和技巧的书籍,主要...整本书是对编程知识和经验的全面梳理,不仅适合初学者入门,也适合有经验的程序员提升技术水平,更被评价为国内不可多得的编程高手经典之作。
《编程高手箴言》是一本全面总结编程技术和经验的书籍,作者梁新通过对多年编程实践的梳理,分享了在编程领域中的各种技术和理念,旨在帮助程序员构建扎实的知识基础,并向编程高手的境界迈进。本书内容丰富,从基础...
这份文档对Linux环境的安装配置、命令使用、编程基础、进程管理、I/O操作、多线程控制以及网络编程技巧等知识点进行了详细的梳理和讲解,为学习者提供了一个扎实的基础,帮助其更快地掌握Linux应用编程的核心技能。
通过对上述内容的梳理与分析,我们可以看出Scratch创意编程培训不仅是一种技能的学习过程,更是在培养学生的创造力、逻辑思维能力和解决实际问题的能力。随着科技的不断进步和社会需求的变化,编程教育将在未来发挥...
代码,编程规范修订工作组分析、总结了我司的各种典型编码问题,并参考了业界编程规范近年来的 成果,重新对我司1999年版编程规范进行了梳理、优化、刷新,编写了本规范。 本规范将分为完整版和精简版,完整版将包括...
java在线摸底测验系统Java知识梳理课程设计--