`
猫耳呀
  • 浏览: 170519 次
社区版块
存档分类
最新评论

新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!

阅读更多
摘要:2018年6月,《阿里巴巴Java开发手册》再次刷新代码规范认知,我们新增了16条设计规约!现免费开放下载,不可错过!

《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。这是阿里回馈给Java社区的一份礼物,希望能够帮助企业开发团队在Java开发上更高效、容错、有协作性,提高代码质量,降低项目维护成本。

2018年6月5日,《阿里巴巴Java开发手册》再次刷新代码规范认知,我们新增了16条设计规约!

点此免费下载《阿里巴巴Java开发手册》(详尽版)

为何要新增设计规约?

脍炙人口的唐诗“两个黄鹂鸣翠柳,一行白鹭上青天”,清爽直接,简明易懂。可读性好的代码也是让人陶醉的,那么如何写出可读性的代码?

代码的可读性是指代码让人容易阅读、理解、调试、可预料的程度。提高代码的可读性可以为代码阅读者节约时间和精力,提升团队协作效率。熟悉和遵守《阿里巴巴JAVA开发手册》的编程风格,那只是“标”,而代码可读性的“本”可以追溯到软件设计阶段。试想一下如果发型师没有设计好,不用指望能剪出一个“可读性”比较好的你。

设计是一种梦想和追求,谁都喜欢有气质的女神,谁都会欣赏有设计感的代码。你可能会问,什么是设计感?就像烧饭这件事,村姑和御厨都会烧,都能吃饱,但是菜品的美感、口感,有本质的区别。代码到艺术层面上,能够体现出来非常好的扩展性、解耦性。代码就象积木一样,换一个搭法,也是OK的,结构清晰,不用担心拔出萝卜带出泥。

何为16条?

设计规约是根据阿里巴巴实际项目架构经验提炼而成,共16条。设计规约主要从UML图和架构设计原则来规定比较基础的软件设计理念,并且明确了超过什么样的阈值需要以什么样的方式来呈现设计思维。根据阿里巴巴内部的反馈声音来看,对于数据底层结构、状态图、以及敏捷开发相关的三条,共鸣感最强,那么详细点评一下:

数据底层结构

底层数据结构属于大厦的地基工程,如果地基不稳,那么上层去修正难度是相当大的,甚至是无法修正。所以设计规约提倡,存储方案和底层数据结构的设计获得评审一致通过,并沉淀成为文档。有缺陷的底层数据结构容易导致系统风险高,可扩展性差,重构成本因历史数据迁移、系统平滑过渡也会陡然增加,所以,存储方案和数据结构需要认真地进行设计和评审,生产环境提交执行后,需要进行double check。评审内容包括存储介质选型、表结构设计能否满足技术方案、存取性能和存储空间能否满足业务发展、表或字段之间的辩证关系、字段名称、字段类型、索引等;数据结构变更(如在原有表中新增字段)也需要进行评审通过后上线。

状态图

业务对象状态相关的编码错误是引起线上故障的一个重要导火索。多一个状态,少一个状态,如果没有历史设计文档沉淀,那么都是灾难性的。如果某个业务对象的状态超过3个,使用状态图来表达并且明确状态变化的各个触发条件。状态图的核心是对象状态,首先明确对象有多少种状态,然后明确两两状态之间是否存在直接转换关系,再明确触发状态转换的条件是什么。淘宝订单状态有已下单、待付款、已付款、待发货、已发货、已收货等。比如已下单与已收货这两种状态之间是不可能有直接转换关系的。

敏捷开发

敏捷开发是当下流行的一种开发模式,相比传统软件生产流程,更加快速地交付。但是,敏捷开发适合于信任度好、理解力强、技术水平相对一致的创业型团队。但是在很多公司敏捷成为一个抓进度的拔苗助长式的借口。所以避免如下误解:敏捷开发 = 讲故事 + 编码 + 发布。敏捷开发是快速交付迭代可用的系统,省略多余的设计方案,摒弃传统的审批流程,但核心关键点上的必要设计和文档沉淀是需要的。

写在最后

我们相信技术之心生生不息,也相信好的规约值得被传播和应用。

本次新增的不单是16条新的设计规约,还是千万阿里人的技术之心。

我们也期待大家的意见,持续完善,

那么说说大家眼里的软件设计中遇到的坑吧。

本文作者:孤尽

原文链接

分享到:
评论

相关推荐

    阿里java开发手册(黄山版)

    最新的阿里java开发手册 内容概要: 1. 编程规约 2. 异常日志 3. 单元测试 4. 安全规约 5. MySQL数据库 6. 工程结构 7. 设计规约 附1: 版本历史 附2: 专有名词解释 附3: 错误码列表 能学到什么: 提出的规约...

    阿里巴巴 Java开发手册(嵩山版)

    阿里巴巴《Java开发手册(嵩山版)》今日重磅发布!1300个日夜兼程,虚静出内功,嵩山版首次新增前后端规约等内容,全面助力开发者码出规范,码出质量! 《Java开发手册》始于阿里内部规约,在全球Java开发者共同...

    阿里巴巴《java开发手册》v1.7.0-嵩山版.rar

    阿里巴巴java开发手册-嵩山版 更新日期:2020/08/03 1)新增前后端规约 14 条。 2)新增禁止任何歧视性用语的约定。 3)新增涉及敏感操作的情况下日志需要保存六个月的约定。 4)修正 BigDecimal 类中关于 compareTo...

    阿里巴巴Java开发详尽手册.pdf

    《阿里巴巴Java开发详尽手册》是一本集成了阿里巴巴集团技术团队多年一线实战经验的开发指南,它详细介绍了在Java开发中应当遵循的编程规范、异常处理、单元测试、安全措施、数据库使用、项目结构设计以及系统设计...

    阿里+Java+开发手册(嵩山版).zip

    阿里巴巴Java开发手册2021最新版 《阿里巴巴 Java 开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范,手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程...

    阿里Java开发手册(泰山版).7z

    正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出版的Java开发手册就是其中之一,从各个方面都约束了程序员该如何有规矩的写代码,以及如何写好代码。 据官方描述,本次共计新增 34 条规约,修改...

    Java开发手册泰山版.zip

    0积分下载阿里巴巴《Java开发手册》泰山版4.22,最新版,一起用起来。《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全...

    阿里巴巴 Java开发手册(泰山版)—— 终极版 最新版

    《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。此次泰山版发布,将...

    阿里巴巴开发手册-泰山版.rar

    此次共计新增 34 条规约,修改描述 90 处,其中错误码规则更是第一次提出完整的解决方案. 本次泰山版是一次全新的革新,涉及到集合转化函数式接口中的深坑、年份天数写死所带来的问题、SQL 多表操作未加表名对字段...

    阿里巴巴Java开发...1528268103.pdf

    《阿里巴巴Java开发手册》是阿里巴巴集团技术团队基于多年实战经验总结而成的开发规范文档,主要面向Java开发者。手册从七个维度对Java开发进行规范,分别是编程规约、异常日志、单元测试、安全规约、MySQL数据库、...

    阿里Java开发手册泰山版 v1.6.0

    阿里Java开发手册泰山版 v1.6.0是阿里巴巴针对Java编程制定的一套规范和最佳实践,旨在提高代码质量和团队协作效率。此手册在2020年4月22日进行了更新,版本号为1.6.0,其中包含了重要的变更,如错误码统一解决方案...

    阿里Java开发手册华山版 v1.5.0

    《阿里Java开发手册华山版 v1.5.0》是阿里巴巴集团针对Java编程语言发布的一份详尽的开发规范,旨在提升团队协作效率、代码质量和可维护性。该手册在2019年6月19日更新至1.5.0版本,对原有的规范进行了补充和修订,...

    阿里巴巴-java编码规范-开发手册(2022黄山版)

    Alibaba-java开发手册-编码规约 2022最新黄山版(修订内容如下) 1)新增 11 条新规约。比如,浮点数的后缀统一为大写;枚举的属性字段必须是私 有且不可变;配置文件中的密码需要加密等。 2)新增描述中的正反例 2 ...

    java阿里开发手册-新

    《阿里巴巴Java开发手册》作为阿里巴巴集团技术团队的经验总结和智慧结晶,代表了在大规模实战检验中不断完善和发展的Java开发规范。本手册内容丰富,共分为七个维度:编程规约、异常日志、单元测试、安全规约、...

    Java开发手册(泰山版).rar

    《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。此次泰山版发布,将...

    敬请期待!《Java开发手册》灵魂13问,深度剖析一线大厂开发思维

    一线大厂怎么用Java?...大家都知道2020年04月22日刚刚发布了《Java开发手册》泰山版,新增5条日期时间规约;新增2条表别名sql规约;新增统一错误码规约。 而《〈Java开发手册(泰山版)〉灵魂13问》

    2020 Java开发手册全版本合集.zip

    《2020 Java开发手册全版本合集》是一份由阿里巴巴公司编撰并发布的针对Java开发者的重要参考资料。这份合集包含了多个版本的手册,旨在规范和提升Java开发的效率和质量,尤其对于团队协作有着重要的指导作用。其中...

Global site tag (gtag.js) - Google Analytics