1、拥有坚实的基础并理解面向对象原则

Java开发人员必须深刻理解面向对象编程。如果没有面向对象编程的坚实基础,就无法感受到像Java这样的面向对象编程语言的美感。 如果你不太了解现象对象编程是什么,即使你使用的是面向对象编程语言,你仍可能会面向过程进行编码。仅研究面向对象原则并没有太多的帮助, 我们应该知道如何使用面向对象的方式应用这些原则来设计解决方案。 因此我们需要拥有丰富的对象建模,继承,多态,设计模式等方面的知识。

2、精通核心的API

如果你不了解语言结构和核心API,那么无论你在在理论知识方面有多强大也是枉然。对于Java语言,开发者对核心的API应具有非常丰富的实践经验,如java.lang.*包,I/O,异常,集合,泛型,线程,JDBC等。当涉及到构建Web应用程序时,无论你使用哪个框架,了解servlet和JSP的概念是必须也是至关重要的。

3、持续地编码

仅仅从理论上来看事情比较简单。我们可以在理论上非常容易地解决问题。但是当我们开始实现这些内容时我们才认识到问题的深度。在这个过程中你将了解到语言限制,或在编码时设计最佳实践。 所以需要你持续编码。

4、订阅技术论坛

在技术上我们并不孤单,在论坛上会有很多人在使用着与我们一样的技术。虽然在框架上进行简单的概念验证对你来说并没有什么挑战,但当你开始在实际项目中使用它时你将面临各种奇怪的问题,并且这些问题在其官方文档中根本找不到任何解决方案。在你开始使用新的技术时,第一件事就是订阅相关的技术论坛。无论你遇到什么问题,世界上其他人都可能已经遇到过并找到了解决方案。如果你能回答其他论坛用户提出的问题那就更好了。

5、关注博客并回复

就如我上面说的你并不孤单,全世界有成千上万的热心技术狂热者在博客上发表他们对技术的见解。你还可以从其他博客和开发人员那里获得有关相同技术有价值的观点。有些人可能会发现特定的框架特征非常有用,而其他人可能会发现这些特征是愚蠢而毫无意义的,给出了他自己为什么会这样认为的原因。因此你可以看到使用这些工具的其他开发人员的好与坏。通过查看其他博客获得价值的另一种方法是回复你的观点或是提出自己的问题。

6、阅读优秀开源项目代码

一个合格的开发者学习如何去使用框架,但如果你想成为一个优秀的开发者则还需要研究各种流行的优秀的框架源码。从这些框架源码中你可以知道框架内部的运行机制及其最佳实践。同时这将对使用框架有很大的帮助。

7、了解信息技术趋势

目前开源软件项目越来越多,开源趋势愈演愈烈。当你对使用某个框架有个好想法时,它有可能已经变得过时-因为一些新框架包含的功能是该框架提供的功能的超集。另外你在使用的框架中需要解决的问题或许在新的框架中仅使用一行配置即可解决。所以密切关注技术图谱中的技术哪些将会崛起,哪些将会过时。

8、手头保留通用代码片段及工具

随着时间的推移,你可能需要反复写入/复制粘贴相同的代码/配置。可以保留像log4.properties,JDBC配置等配置文件,或者像StringUtils,ReflectionUtils,DBUtils等实工具将更有帮助。我知道这可能本身不会让你成为优秀的开发者。但是想象一下,一些合作开发人员要求你帮助从集合对象中获取属性值列表,然后你只需使用ReflectionUtil在几分钟内提供解决方案:这将使你更加优秀。

9、了解不同的软件开发方法

熟悉Agile、SCRUM、XP、Waterfall等各种开发方法。选择何种开发方法取决于客户,一些客户喜欢敏捷,另一些客户对瀑布模型更中意。所以开发者对各种开发方法有所了解将是一个加分项。

10、记录自己对于技术的理解和思考

在日常工作中,你可以学习新的更好的做事方式,以及最佳实践,架构理念等。记录这些想法,发布博客,在社区中分享。想象一下你解决了一个在做简单的POC时发生的奇怪的问题并在博客上记录下这个问题。也许世界上其他的开发人员在生产部署的应用程序上也遇到了同样的问题,这时候你的这个解决方案对他们将是多有价值。所以用博客记录自己的思考,这将在以后的某天可能会对他人或自己有所帮助!

原文链接:https://dzone.com/articles/10-things-become-outstanding
作 者:Siva Prasad Reddy Katamreddy
译 者:klein
------

9月福利,关注公众号

后台回复:004,领取8月翻译集锦!

往期福利回复:001,002, 003即可领取!

10步成为一个优秀的Java开发!的更多相关文章

  1. 利用 Docker 构建一个简单的 java 开发编译环境

    目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...

  2. 搭建一个完整的Java开发环境

    搭建一个完整的Java开发环境 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,ecl ...

  3. 菜鸟从零学编程(七)——搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

  4. 菜鸟学Java(十二)——搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

  5. 来认识一下venus-init——一个让你仅需一个命令开始Java开发的命令行工具

    源代码地址: Github仓库地址 个人网站:个人网站地址 前言 不知道你是否有过这样的经历.不管你是什么岗位,前端也好,后端也罢,想去了解一下Java开发到底是什么样的,它是不是真的跟传说中的一样. ...

  6. 如何成为一个优秀的java程序员

    Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1. 为代码添加注释(Add comments to your ...

  7. 一个四五年的Java开发程序员,该准备哪些去面试?

    上周面试了一周,感触颇深,总结一下. 面试了公司大概有阿里,携程,爱奇艺,唯品会,途牛,bilibili,大众点评,阿里和爱奇艺是电话面试,其他现场面试. 首先,五年左右,应该算高级开发工程师,大部分 ...

  8. 五步完成一个 VSCode 扩展(插件)开发

    第一步: 安装扩展生成器 npm install -g yo generator-code vsce 第二步: 初始化一个 Hello World 扩展 yo code 图来自 CN-VScode-D ...

  9. 转:Java开发牛人十大必备网站

    原文来自于:http://www.importnew.com/7980.html 以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质 ...

随机推荐

  1. Likelihood function

    似然函数 统计学中,似然函数是一种关于统计模型参数的函数,表示模型参数中的似然性. 给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ ...

  2. pycharm中使用2to3

    https://www.jianshu.com/p/abbb005ba002 可用

  3. js 判断一个数是否在数组中

    ,,,,,,,); ; ; i < arr.length; i++) { ){ console.log(i); flag=; break; } } ){ console.log("66 ...

  4. AttributeError: module 'pytest' has no attribute 'allure'

    解决 pip3 uninstall pytest-allure-adaptor pip3 install allure-pytest 参考: https://www.cnblogs.com/lansa ...

  5. pyqt(day3)

    一.在pycharm中配置qtdesigner C:\Python\Python37\Lib\site-packages\pyqt5_tools\designer.exe 二.ui文件转换成pytho ...

  6. 日常开发中的shell小技巧

    工具推荐 命令行中很方便的代码统计工具---cloc 强大的分屏工具---tmux 最舒服的markdown书写工具---typora markdown图床推荐--七牛云 模拟生成熵(避免暴力手搓键盘 ...

  7. ppt VBA 实现随机抽题

    目录 目标/最终效果 关于VBA VBA简单示例 检查环境 步骤 VBA实现随机抽题 todo challenge 目标/最终效果 目标是制作一个ppt,实现随机抽题,具体描述: 第一页幻灯片中:点击 ...

  8. httpcomponents 发送get post请求

    引入的包为: <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <de ...

  9. css3中的盒子模型

    1.示例一 实现左右布局,左侧宽度200px,右侧自适配 代码如下: <!DOCTYPE html> <html lang="en"> <head&g ...

  10. C#利用iTextSharp将datatable数据转化为PDF文件

    1.下载iTextSharp.dll文件 下载链接:https://pan.baidu.com/s/14o-pJ-U2yU8n0EyIn249qg 提取码:tklu 2.PDF转换方法 /// < ...