《阿里巴巴Java开发手册》码出高效详解(一)- 为什么要学习阿里编码手册「建议收藏」

《阿里巴巴Java开发手册》码出高效详解(一)- 为什么要学习阿里编码手册「建议收藏」《Java 开发手册》(以下简称《手册》)是每个 Java 工程师人手必备的一本参考指南。该手册包括 编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约 7 个部分 ,涵盖

《阿里巴巴Java开发手册》码出高效详解(一)- 为什么要学习阿里编码手册

《Java 开发手册》(以下简称《手册》)是每个 Java 工程师人手必备的一本参考指南。该手册包括 编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约 7 个部分 ,涵盖了 Java 开发的常见知识点。认真实践该《手册》能够帮助 Java 开发者养成好的编程习惯,帮助企业的开发团队在 Java 开发上更加高效、提高容错性、团队协作更好,并有助于提高代码的质量、降低项目维护的难度。然而很多人会遇到看过就忘,记住却不理解、不会用的困境。

另外在实际的学习和工作中,你是否遇到过如下尴尬:

看《手册》等 Java 技术图书时觉得啥都懂,实战时就忘了;很多知识点,知其然而不知其所以然,面试时多问你几个为什么就 “靓仔语塞”;想通过读源码来进阶,但是容易迷失在细节中,总是半途而废;不重视需求分析,导致开发完成才意识到设计和需求有偏差;遇到问题时如果无法简单地定位原因,会优先通过百度、请教别人来解决问题;开发中遇到问题排查耗时很久,方法很原始;自己开发的项目,每次上线几乎必出 BUG,而有些同事的项目质量则很高,自己却不知道如何才能尽可能地避免。

结合自己学习和工作这么长时间的思考,将出现上述尴尬的原因归结为以下几个原因:

  • 知道很容易,懂很难,很多人把知道当做懂。自认为掌握了就不愿意再深入学习,恰恰错过了彻底掌握该知识的最佳机会;
  • 专业基础不够扎实。 很多人急于求成,只重视解决眼前问题,不能够未雨绸缪,巩固好专业基础,最终导致很多问题” 知其然而不知其所以然 “,排查问题时靠猜、靠问,而不是靠扎实的专业基础之上的推测和验证;
  • 很多人不愿意改变学习方法,学习和培养好的编程习惯,不敢走出舒适区。比如很多人学了很多技术,却从来没有认真仔细阅读过官方文档;比如读源码毫无章法,随心所欲,常常半途而废;
  • 态度决定一切。很多人嘴上说想学好,但是对自己代码要求很低,总是为自己找各种理由不去学更好的方法,不去努力写更优雅的代码;
  • 在学习技术过程中,很多人把脑力劳动当成了体力劳动,把需要思考的问题当做了纯记忆的问题,学习和工作过程中缺乏思考。比如很多人是 “记忆” 经典图书的知识点,而不是理解知识点,导致容易遗忘,不能灵活运用。在学习很多知识点时缺乏思考,没有去搞懂是什么、不明白为什么、不知道如何去做;
  • 没有养成好的解决问题的习惯,排查问题靠猜,而不是思考和验证。也没有主动掌握常见的排查问题的步骤和工具等。

很多人缺乏的不只是好的资料,而是学习的方法。学一样的技术,使用不同的方法,最终学习的效果截然不同。而技术是学不完的,如果没有科学的方法,无法很好地应对层出不穷的新技术。每个人的成长速度是不同的,有的人工作多年,却只有一年的技术经验;而有的人工作一年,却有超越一年的技术经验。造成这种差异的主要原因在于学习能力。

从 Java 新手到高手的进阶过程是一个漫长的爬坑过程。 很多同学遇到 BUG 时由于基础不扎实也没有系统地排查方法,为了解决一个小问题浪费了大把的时间。而且写出的 BUG 太多将直接或间接影响绩效,影响同事、领导对你的印象。

阻碍初学者进步的往往是一叶障目不见泰山的盲目自信,往往是一成不变学习方法。激活成功教程上述尴尬的核心在于提高学习和排错能力。

为了解决上面提出诸多尴尬,本教程的具体应对策略如下:

  • 从学习方法主要切入点,结合源码,Java 语言规范 2 和 Java 虚拟机规范 3 等对《手册》的讲解和补充
  • 设计者角度思考问题,很多知识点将从设计者视角去思考分析问题,更容易理解问题的根源
  • 通过对开发中常用的思维导图、流程图和常见 UML 图的讲解,让大家可以 “大战需求分析”,前期明确需求,后期少返工
  • 通过单元测试、Code Review 等相关知识的学习和运用,促进代码质量的提升
  • 通过独特的学习源码视角,来从正确的角度和方法来学习源码的精髓,反向促进日常的开发
  • 结合实际的开发经验,给出相关知识点掌握不牢容易造成的坑,给出一些避坑建议。

版本

Java 源码均默认为 JDK 8 版本(特殊标注除外)。

技术是学不完的,学习能力和态度才是进阶的关键。作为一个技术人员,只有保持 “Stay Hungry, Stay Foolish” 的心态,才能够保持进取心;只有真正知道哪些才是更有价值的东西,才能真正少走弯路。

希望大家能够通本教程,从 “学习具体内容” 为主,转变到学习 “学习的方法” 为主;从技术的学习者变为技术的思考者。

参考

  • 《 Java 开发手册 1.5.0》华山版. 2019
  • 《Java Language Specification: Java SE 8 Edition》
  • 《The Java Virtual Machine Specification Java SE 8 Edition》
  • 码出规范:《阿里巴巴Java开发手册》详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10105.html

(0)
上一篇 2023-01-25
下一篇 2023-01-25

相关推荐

  • 关系图生成器_数据库实体关系图怎么画

    关系图生成器_数据库实体关系图怎么画地址: https://dbdiagram.io/home 做概要设计,想要把关键数据视图采用数据库关系图表示一下,为了简单快速地把表设计并定义出来,我找了一个可以在线设计数据库关系图(databa…

    2023-01-31
    156
  • Python List索引操作

    Python List索引操作List是Python中最常用的数据类型之一,与字符串、元组、字典等数据类型并列,其特点是可以储存各种类型数据并且是可变的。在Python中,List中的元素可以使用索引(即下标)进行访问,下标从0开始。以下是一些基本的使用方法:

    2024-02-25
    124
  • 用Python轻松掌握时间操作

    用Python轻松掌握时间操作随着计算机应用的不断普及,时间操作在计算机编程中也越来越重要。Python作为一门通用的编程语言,具有良好的时间处理能力,能够轻松解决许多时间相关的问题。本文将介绍Python中常用的时间处理模块及其应用,帮助读者轻松掌握时间操作。

    2024-01-16
    110
  • Linux环境下Python安装

    Linux环境下Python安装Python是一种高级编程语言,受到了许多人的欢迎。在Linux操作系统中安装Python极其简单,是因为Linux自带了Python解释器。但是,一些新版本或者特定版本的Python需要手动安装。本文将介绍如何在Linux操作系统下安装Python,包括Python的所有主要版本。

    2024-05-04
    72
  • sql自定义_c语言中函数的定义

    sql自定义_c语言中函数的定义trunc(exp1) trunc(exp1)和Round(exp1,exp2)类似,只不过trunc()不指定截取的小数位数进行处理,只取到整数位,不做舍去处理 select trunc(123.1

    2023-02-20
    163
  • 数据采集介绍_数据采集论坛

    数据采集介绍_数据采集论坛1. 概述 京粉(https://union.jd.com/)是京东联盟下的网站,通过分享其中的商品链接可以赚取佣金,类似淘客联盟。 采集京粉的商品,既可以练习 puppeteer的使用,平时想在京东

    2023-04-19
    168
  • 如何在Pycharm中设置断点

    如何在Pycharm中设置断点Pycharm是一种用于Python语言开发的集成工具,是Python工程师必不可少的工具之一。一个好的IDE可以帮助开发者更加高效地开发程序,提高工作效率。在程序的调试和测试过程中,调试工具是非常重要的辅助工具。在这里,我们将介绍Pycharm中如何设置断点。

    2024-06-30
    46
  • 数据库、表的增删改查操作SQL语句语法_数据库的基础是什么

    数据库、表的增删改查操作SQL语句语法_数据库的基础是什么MySQL环境配置(mysql有下载包) MySQL数据库表的基础操作(增删改查)—讲解一 MySQL数据库表的模糊/多行/分组/排序/分页查询以及字mysql数据类型的讲解—讲解二 MyS…

    2023-02-03
    150

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注