成为不错的 Java 程序员的基础的是什么?


Author: Kimmy

成为不错的 Java 程序员的基础的是什么?

知乎链接


==========================
先说如何学好Java吧。
这几年学编程,有大部分时间都是在黑Java的。但是正因为这样子,按照代码量来排序的话,Java应该在我使用过的编程语言里面排前几名。所以我觉得我黑Java的旅程也能拿出来作为学习Java的旅程来算。

首先你要知道Java这门语言。长什么样子,有什么特性,能够做哪些事情,又有何利弊。这方面最合格的是JLS,或者是Core Java。作为一个Java黑,我的主要关注点肯定是他的缺陷和弊端,而同样的我也需要知道他的所长,用以反驳或者是规避。

其次你要了解的就是这个平台了。Java的杀手锏就是其有限但直观的抽象能力和JVM及其周边丰富的类库。而且Java标准库的那套API(Collection、IO、Socket、Concurrency和Thread等)也影响深远,在一定程度上,你能用好这些东西,比你去学会或者理解透彻数据结构、计算机网络等,要实际得多。而且,你甚至可以直接通过读源码或者自己去实现他们来进而提升自身的能力。

再就是去通过无限的代码来学习思想。没有大量的实战经验来谈理清代码逻辑和编程思想那都是空谈。《设计模式》是一个很好的出发点,另外还有大量的书籍能够供给你去学习和实践。至于去“实践”什么东西,那就要看你究竟想做什么了。

当然所有这些并不是先后关系。可以相互穿插交织在一起。
---------------------
好吧我们来说一下怎么做一个好的程序员。
  1. 工具:IDE是必要的,自动化工具集(测试、构建、发布)也是必要的,虽然这东西一般的IDE都回集成,一个顺手的键盘也是必要的,一本泡妞秘籍或者颈椎病康复指南也可能成为必要的。
  2. 思维:你可以不一定懂某些东西,但是一定要有快速切入分析问题的能力。对于绝大多数不深入计算机科学的软件开发来说,代码 / 算法算不上有难度,而真正困难的是如何拆分业务逻辑并有效地转为代码逻辑。
  3. 眼界:这是一个说大不大说小不小的问题,在不耽误正常工作和生活的情况下,请尽可能的拓宽和深入自己的接触面,所有的东西都不是固有或者是一成不变的,看清自己眼前的行业很重要,而对于软件开发来说,能够把眼界拓展到其他行业去,也很重要。
-------------------
以上,作为一个Java黑给题主的建议。

创建时间:2014-09-13 最近更新时间:2023-11-03