本文目录一览:
- 〖壹〗、为什么阿里巴巴Java开发手册中强制要求超大整数禁止使用Long类型返回...
- 〖贰〗、在阿里巴巴java开发手册中,为什么不允许出现任何魔法值(即
- 〖叁〗、如何理解《阿里巴巴java开发手册》中提到的do/dto/bo/vo/
- 〖肆〗、为什么阿里巴巴java开发手册里要求禁止使用存储过程?
- 〖伍〗、为什么阿里巴巴java开发手册中不允许魔法值出现在代码中?
- 〖陆〗、阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
为什么阿里巴巴Java开发手册中强制要求超大整数禁止使用Long类型返回...
此外,为了解决精度损失问题,可以引入一个新的属性,例如使用String dbScripId,来代替原来的id属性,从而确保在传输过程中数据的完整性和精度。
构造方法的差异导致了精度的不同。使用BigDecimal(long) 或 BigDecimal(int)创建的BigDecimal的精度为0,而使用BigDecimal(double)时,尽管我们期望得到0,实际创建的是一个近似值。使用BigDecimal(string)时,创建的BigDecimal的精度会根据字符串中的小数点后位数而定。
在Java开发中,《阿里巴巴Java开发手册》推荐使用BigDecimal进行浮点数运算,其核心原因是为了解决浮点数运算中的精度丢失问题。由于计算机采用二进制表示,有限的存储空间导致无法精确存储无限循环小数,这在浮点数(如float或double)的运算中会引发精度损失。
在Java开发中,《阿里巴巴Java开发手册》推荐使用BigDecimal进行浮点数运算,主要是为了避免精度丢失的问题。浮点数运算中可能出现精度丢失,这源于计算机二进制表示的限制。计算机存储浮点数时,由于二进制小数无法完美对应十进制无限循环小数,导致精度损失。例如,0.2在二进制中无法精确表示。
在阿里巴巴java开发手册中,为什么不允许出现任何魔法值(即
〖壹〗、在阿里巴巴Java开发手册中,不提倡使用魔法值的主要原因在于提升代码的可读性和维护性。魔法值,即未定义的数值,如998,在代码中随意出现,会降低代码的可读性,理解其作用需要额外的时间和逻辑分析。
〖贰〗、在编写Java代码时,遵循良好的编码规范对于提高代码质量、可读性以及维护性至关重要。阿里巴巴Java开发手册中特别强调避免在代码中使用魔法值(magic number),即直接在代码中硬编码的数字或特殊值,而推崇使用常量。以下是手册中关于常量定义和代码格式的规范。
〖叁〗、下面,我将分享手册中的一些编程规则简介。首先,禁止在代码中直接使用魔法值,即未定义的常量,应通过静态常量或枚举来明确。这对我早期编程习惯产生了重大影响,帮助我避免了因随意使用魔法值而带来的问题。其次,手册推荐严格控制类、方法的访问权限,体现Java的封装性,避免模块间的过度耦合。
如何理解《阿里巴巴java开发手册》中提到的do/dto/bo/vo/
〖壹〗、理解《阿里巴巴Java开发手册》中关于do/dto/bo/vo的描述,首先要明白领域模型在实际应用中的变化。底层使用DO,即Data Object,代表数据实体。当数据传递至Service层时,DO被转换为DTO,即Data Transfer Object。DTO专为数据传输设计,旨在简化数据结构,方便不同层之间的数据交换。
〖贰〗、DO:定义:此对象与数据库表结构一一对应,通过DAO层向上传输数据源对象。在阿里巴巴的开发手册中,DO等同于PO,主要用于存储从数据库提取的数据。DTO:定义:数据传输对象,主要用于Service或Manager层向外传输数据。DTO可以在各层服务中进行交互,以解耦服务间的依赖。
〖叁〗、在Java开发中,面对众多术语如PO、VO、BO、DO、DAO和DTO,有时可能会感到困惑。本文将逐一解释它们的含义和应用场景。PO,即持久化对象(Persistent Object),它直接对应数据库中的实体或表,属性与字段一一对应,支持数据的持久化操作,如UserPO就是用户表的映射。
〖肆〗、DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。BO(Business Object):业务对象,封装对象、复杂对象,可能包含多个类,主要作用是把业务逻辑封装为一个对象,通常位于业务层,提供基本业务操作,被服务层业务流程调用,可能包括对DAO、RPC的调用,能进行PO与VO/DTO之间的转换。
为什么阿里巴巴java开发手册里要求禁止使用存储过程?
〖壹〗、阿里巴巴Java开发手册中禁止使用存储过程的主要原因包括以下几个方面:首先,存储过程缺乏版本控制机制,当需要进行版本迭代时,更新工作会变得相当繁琐。若存储过程与外部程序结合使用,升级时可能会引发无感升级问题,甚至可能需要进行停机操作。其次,存储过程的使用可能不利于未来的数据库分库分表策略。
〖贰〗、此外,为了解决精度损失问题,可以引入一个新的属性,例如使用String dbScripId,来代替原来的id属性,从而确保在传输过程中数据的完整性和精度。
〖叁〗、不是一定要会存储过程,但会使用存储过程可以提高Java软件开发的效率和可维护性。存储过程是一种在数据库中预先定义一组 SQL 语句并将它们保存在数据库中的方法。它减少了应用程序和数据库服务器之间的通信,可以优化大型企业级应用程序的性能。
〖肆〗、使用oracle的sql语句来创建:e.g. 使用create or replace and compile java source named as 后边跟上java源程序。要求类的方法必须是public static的,才能用于存储过程。
〖伍〗、在编写Java代码时,遵循良好的编码规范对于提高代码质量、可读性以及维护性至关重要。阿里巴巴Java开发手册中特别强调避免在代码中使用魔法值(magic number),即直接在代码中硬编码的数字或特殊值,而推崇使用常量。以下是手册中关于常量定义和代码格式的规范。
为什么阿里巴巴java开发手册中不允许魔法值出现在代码中?
**跨应用共享常量**:应放置在二方库中,如client.jar的constant目录下。 **应用内共享常量**:应放置在一方库中,通常在子模块的constant目录下。 **子工程内部共享常量**:应放在当前子工程的constant目录下。 **包内共享常量**:应在当前包下单独的constant目录下。
在阿里巴巴Java开发手册中,不提倡使用魔法值的主要原因在于提升代码的可读性和维护性。魔法值,即未定义的数值,如998,在代码中随意出现,会降低代码的可读性,理解其作用需要额外的时间和逻辑分析。
下面,我将分享手册中的一些编程规则简介。首先,禁止在代码中直接使用魔法值,即未定义的常量,应通过静态常量或枚举来明确。这对我早期编程习惯产生了重大影响,帮助我避免了因随意使用魔法值而带来的问题。其次,手册推荐严格控制类、方法的访问权限,体现Java的封装性,避免模块间的过度耦合。
降低代码可读性与可维护性:魔法值没有明确的定义,使得代码难以理解。如:当看到数字3时,无法直接知道它们的意义。 影响开发效率与准确性:魔法值频繁出现时,需要重复输入相同的值,容易出错且浪费时间。通过定义常量,利用代码提示和补全功能,能提高效率。
然而,不恰当的使用魔法值可能导致代码维护的困难。例如,在反例中,使用“t”作为变量名显然是不合适的。正确的做法是使用简明知意的变量名替代,以提高代码的可读性和可维护性。为了更好地处理魔法值问题,我们可以采用一些方法来优化代码。
在《阿里巴巴Java开发手册》中,有一条关于前后端超大整数返回的规约。这一条规约的背景源自之前在前端联调过程中遇到的问题,即当根据脚本 id 进行审批时,状态未发生变化。问题在于JavaScript的特殊处理方式,导致超过一定大小的整数在前后端之间传输时发生精度损失。
阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
定义:无规则简单的对象。在日常的代码分层中,POJO会被分为VO、BO、PO、DTO等。POJO的使用有助于提高代码的可读性和可维护性。总结: DO主要用于与数据库交互,存储数据库数据。 DTO用于服务间的数据传输。 BO封装业务逻辑,处理业务对象。 AO用于Web层与Service层之间的数据传输。
PO 是数据库记录在Java中的映射。 仅用于数据表示,遵循Java Bean规范,拥有getter和setter方法。 BO 是业务逻辑的代表。 负责PO与VO/DTO之间的转换。 位于业务层,服务于服务层业务流程,类似于Service对象。 DO 与PO相似,用于表示数据库对象。
BO(Business Object):业务对象,封装对象、复杂对象,可能包含多个类,主要作用是把业务逻辑封装为一个对象,通常位于业务层,提供基本业务操作,被服务层业务流程调用,可能包括对DAO、RPC的调用,能进行PO与VO/DTO之间的转换。
本文来自作者[admin]投稿,不代表墨风技术小站立场,如若转载,请注明出处:http://www.mofengqiche.com/post/3762.html
评论列表(4条)
我是墨风技术小站的签约作者“admin”!
希望本篇文章《阿里巴巴java开发手册(阿里巴巴java开发手册最新版)》能对你有所帮助!
本站[墨风技术小站]内容主要涵盖:SEO网站关键词
本文概览:本文目录一览:〖壹〗、为什么阿里巴巴Java开发手册中强制要求超大整数禁止使用Long类型返回...〖贰〗、在阿里巴巴java开...