Java 开发人员一定要对面向对象编程有深刻的理解。如果没有扎实的 OOPS 基础,你就无法体会 Java 这样的面向对象编程语言的美妙之处。如果你对 OOPS 没有深入理解,那么就算你使用的是 OOP 语言,你的代码也还可能是程序化的方式写出来的。光是看 OO 原则的定义是没什么意义的。我们应该知道如何应用这些原则,以面向对象的方式设计解决方案。所以,你应该深入了解对象建模、继承、多态、设计模式等知识。
凡事都是说起来容易做起来难。理论上,我们可以很容易地给出一个问题的解决方案。但是当我们开始实现具体的方法时,我们才会意识到问题的内涵有多深。写代码的过程中你会了解各种各样的语言约束,或者设计出很多最佳实践。所以请保持写代码的习惯。
如果你不了解一种语言的各种结构和核心 API,那么你在理论知识方面再强都是没用的。就 Java 而言,我们应该对 java.lang.*、I/O、异常、集合、泛型、线程、JDBC 等核心 API 有非常丰富的实践经验。在构建 Web 应用程序时,无论你使用的是哪种框架,都应了解有关 servlet 和 JSP 的概念。
我们并不孤单。世界各地有数以千计的技术狂人在博客上发表他们对技术的见解。你还可以从其他博客和开发人员那里获得关于某种技术的宝贵观点。有些人可能会发现某些框架特性非常有用,而另一些人可能会认为这些特性既愚蠢又毫无意义,并给出了自己的理由来解释他为什么会这样说。也就是说,你可以从使用这些工具的其他开发人员那里看到一种技术的优缺点。
查看其他人的博客时,另一种获得价值的方法是回复 / 评论,表达你的意见和问题。
随着时间的推移,你可能需要一次又一次地编写 / 复制粘贴相同的代码 / 配置。保留 log4.properties、JDBC 配置等配置片段以及 StringUtils、ReflectionUtils、DBUtils 等实用程序会非常有用。我知道,做这件事本身并不会让你成为出色的开发人员。但是想象一下,某位开发同事要求你帮忙从对象集合中获取属性值列表,然后你只需使用 ReflectionUtil 就可以在几分钟内给出解决方案:一下子你就成了高手了。
请熟悉各种方法,如敏捷、SCRUM、XP、瀑布等。如今,选择哪种开发方法取决于客户的需求。一些客户更喜欢敏捷,另一些客户比较满意瀑布模型。所以对各种方法都有一定认知将是你的一个真正的优势。
在日常工作中,你可能会学习很多新的和更好的做事方式,以及最佳实践、架构理念等。请继续记录这些想法,在博客中介绍它们,和 / 或在社区中分享它们。想象一下,你解决了一个在做一个简单的 POC 时发生的奇怪问题,并且你在博客上写了它的故事。也许世界其他地方的开发人员在生产环境中部署的应用程序上也面临着同样的问题。想一想你的解决方案会对其他开发人员带来多少价值吧。所以,请把你的想法写在博客上,有一天它们可能会对他人或你自己有所帮助!
原文链接:
https://medium.com/geekculture/7-steps-to-become-an-outstanding-java-developer-2c6fc047d6e7
大佬愤怒喊话:做Kubernetes开源工作难以在大厂内晋升
隐居、反内卷,不意味着躺平|专访2021年度“杰出新自由软件贡献者”奖得主
点个在看少个 bug 👇