转自:http://www.codeceo.com/article/10-steps-be-good-java-programmer.html
1.拥有扎实的基础和深刻理解OO原则
对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这些面向对象编程语言的美。光学习OO原则的定义用处不大,关键是要学会如何应用这些原则用一种OO的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。
2.掌握核心API
如果你不知道语言结构和核心API,那么即使你在理论知识上再怎么彪悍也是独木难成林。在Java中,我们最好能对核心API,如java.lang.*、I/O、异常、集合、泛型、线程、JDBC等有很强的实战经验。要是涉及到Web应用的开发,无论你使用的是对Servlet有多大关系的框架,JSP都是必须的。
3. Keep coding
陆游曾说过,“纸上得来终觉浅,绝知此事要躬行”。从理论上想出一个解决方案很简单,但是真到了实施的时候,才会意识到问题有多难。此时,你才会明白编码过程中存在的语言限制,从而设计出最好的实践方案。因此,Keep coding。
4.订阅社区论坛
我们并非踽踽独行者。很多人都和我们一样在研究着相同的技术。只是对某个框架概念做验证是不难的,但是当你将这些概念应用到实际的项目中时,那么各种各样的问题,各种在官方文档上找不到解决方法的难题就会接踵而来。学习新技术首先要做的是订阅相关的技术社区论坛。无论你遇到的是什么问题,总会有人比你先碰到过,而且搞不好已经找到了解决方法。Ps,还可以解答别人提出来的问题,而且这感觉不要太爽哦。你也可以通过邮件订阅《快乐码农》程序员期刊获取更多的编程知识,点击订阅。
5.追博客并附上自己的评论
正如我前一点所说的,我们并不孤单。成千上万来自世界各地的技术爱好者将他们的技术见解发表在博客上。在博客上我们可以找到很多相同技术的不同观点。有人会觉得这是一个强大的技术功能,而有的人可能会觉得这是一个愚蠢的框架,仁者见仁智者见智。所以对于同一种技术你会在博客中听到两种不同的声音。看到好的博客可以写点自己的看法回复在评论上。
6.阅读开源框架的源代码
好的开发人员总是知道如何使用框架。但是如果你想成为一个优秀的开发人员,那么你需要研究各种成功和流行的框架源代码,去了解它的内部工作机制和最佳实践形式。这是一种高效的使用框架的方法。
7.了解相关技术的发展趋势
在开源环境中,软件开发技术总是在不断发展变化。现在所谓的新框架,可能到时候会过时。当前框架上解决不了的问题,可能在新框架上就不再是问题。所以要时刻注意着新事物的诞生和旧事物的消亡。
8.手头准备好常用的代码片段/实用程序
有时候我们可能需要一遍又一遍地复制粘贴/编写相同的代码片段/配置。所以,保存一些配置片段如log4.properties、jdbc 配置,以及实用程序如StringUtils、ReflectionUtils、DBUtils大有好处。这些东西本身可能并不能让你与众不同,但是你想想看,要是你的合作开发人员希望你帮他从对象集合中获取属性值的列表,而你只需要用ReflectionUtil就可以在几分钟内解决,是不是一下子脱颖而出了呢。
9.了解不同的开发方法
熟悉不同的开发方法,例如Agile、SCRUM、XP、Waterfall等等。现在,选择哪种开发方法是由客户说了算的。有的客户偏好Agile,而有的则更喜欢Waterfall模型。所以对各种方法都能有所涉猎绝对让人刮目相看。
10.将自己对技术的看法记录到文档/博客上
在我们每天的工作中,我们或许会学到新的东西,新的做事方法、实践形式和架构理念。可以将这些想法记录到文档或者博客中,分享给大家。因为你现在解决问题的方法可能正是世界上另一个角落另一个开发人员“寻寻觅觅上下求索”的难题,你的分享将完全不亚于一场久旱的甘霖。
1.拥有扎实的基础和深刻理解OO原则
对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这些面向对象编程语言的美。光学习OO原则的定义用处不大,关键是要学会如何应用这些原则用一种OO的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。
2.掌握核心API
如果你不知道语言结构和核心API,那么即使你在理论知识上再怎么彪悍也是独木难成林。在Java中,我们最好能对核心API,如java.lang.*、I/O、异常、集合、泛型、线程、JDBC等有很强的实战经验。要是涉及到Web应用的开发,无论你使用的是对Servlet有多大关系的框架,JSP都是必须的。
3. Keep coding
陆游曾说过,“纸上得来终觉浅,绝知此事要躬行”。从理论上想出一个解决方案很简单,但是真到了实施的时候,才会意识到问题有多难。此时,你才会明白编码过程中存在的语言限制,从而设计出最好的实践方案。因此,Keep coding。
4.订阅社区论坛
我们并非踽踽独行者。很多人都和我们一样在研究着相同的技术。只是对某个框架概念做验证是不难的,但是当你将这些概念应用到实际的项目中时,那么各种各样的问题,各种在官方文档上找不到解决方法的难题就会接踵而来。学习新技术首先要做的是订阅相关的技术社区论坛。无论你遇到的是什么问题,总会有人比你先碰到过,而且搞不好已经找到了解决方法。Ps,还可以解答别人提出来的问题,而且这感觉不要太爽哦。你也可以通过邮件订阅《快乐码农》程序员期刊获取更多的编程知识,点击订阅。
5.追博客并附上自己的评论
正如我前一点所说的,我们并不孤单。成千上万来自世界各地的技术爱好者将他们的技术见解发表在博客上。在博客上我们可以找到很多相同技术的不同观点。有人会觉得这是一个强大的技术功能,而有的人可能会觉得这是一个愚蠢的框架,仁者见仁智者见智。所以对于同一种技术你会在博客中听到两种不同的声音。看到好的博客可以写点自己的看法回复在评论上。
6.阅读开源框架的源代码
好的开发人员总是知道如何使用框架。但是如果你想成为一个优秀的开发人员,那么你需要研究各种成功和流行的框架源代码,去了解它的内部工作机制和最佳实践形式。这是一种高效的使用框架的方法。
7.了解相关技术的发展趋势
在开源环境中,软件开发技术总是在不断发展变化。现在所谓的新框架,可能到时候会过时。当前框架上解决不了的问题,可能在新框架上就不再是问题。所以要时刻注意着新事物的诞生和旧事物的消亡。
8.手头准备好常用的代码片段/实用程序
有时候我们可能需要一遍又一遍地复制粘贴/编写相同的代码片段/配置。所以,保存一些配置片段如log4.properties、jdbc 配置,以及实用程序如StringUtils、ReflectionUtils、DBUtils大有好处。这些东西本身可能并不能让你与众不同,但是你想想看,要是你的合作开发人员希望你帮他从对象集合中获取属性值的列表,而你只需要用ReflectionUtil就可以在几分钟内解决,是不是一下子脱颖而出了呢。
9.了解不同的开发方法
熟悉不同的开发方法,例如Agile、SCRUM、XP、Waterfall等等。现在,选择哪种开发方法是由客户说了算的。有的客户偏好Agile,而有的则更喜欢Waterfall模型。所以对各种方法都能有所涉猎绝对让人刮目相看。
10.将自己对技术的看法记录到文档/博客上
在我们每天的工作中,我们或许会学到新的东西,新的做事方法、实践形式和架构理念。可以将这些想法记录到文档或者博客中,分享给大家。因为你现在解决问题的方法可能正是世界上另一个角落另一个开发人员“寻寻觅觅上下求索”的难题,你的分享将完全不亚于一场久旱的甘霖。