01_编程规约——OOP规约

1.【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,避免增加编译器解析成本,直接用“类名.变量名”访问即可。

2.【强制】所有的覆盖方法,必须加@Override注解

说明:加@Override可以准确判断是否覆盖成功,另外如果在抽象类中对方法签名进行修改,对应的实现类会马上报编译错误。

3.【强制】相同的参数类型,相同业务含义,才可以使用Java的可变参数(Integer... ids),避免使用Object。(注意:尽量不要用可变参数编程)

说明:可变参数必须放在参数列表的最后。

非得使用的话,例子:public User getUsers(String type, Integer... ids){...}

4.【强制】外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用产生影响。接口过时必须加@Deprecated注解,并清晰地说明采用的新接口或者新服务是什么。

5.【强制】不能使用过时的类和方法。

6.【强制】Object的equals方法容易抛空指针异常,应该使用常量或者确定有值的对象来调用equals方法。

正例:"test".equals(object)

反例:object.equals("test")

说明:推荐使用java.util.Objects#equals

原文地址:https://www.cnblogs.com/HigginCui/p/9784958.html

时间: 2024-10-23 03:59:50

01_编程规约——OOP规约的相关文章

Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系

Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入.通用规范往往能够为组件添加新的能力(就像上面所讨论的), COP比OOP更进一步.通常OOP将数据对象组织到实体中.这种方法具有很多优点.但是,OOP有一个大的限制:对象之间的相互依赖关系.去掉这个限制的一个好的想法就是组件.组件和一般对象之间的关键区别是组件是可以替代的. 3.什么是面向方面编程

python面向对象编程(OOP)

python作为一种解释性语言,其主要的编程方式就是面向对象,而且python的框架django也是主要面向对象的编程. 类(class)和对象(object) 类(class)是用来描述具有相同属性(attribute)和方法(method)对象的集合.对象(object)是类(class)的实例.比如学生都有名字和分数,他们有着共同的属性.这时我们就可以设计一个学生类,用来记录学生的名字和分数,并自定义打印出来. 属性(attribute):类里面用于描述所有对象共同特征的变量或数据.比如此

什么是面向对象编程(OOP)?

Java 程序员第一个要了解的基础概念就是:什么是面向对象编程(OOP)? 玩过 DOTA2 (一款推塔杀人的游戏)吗?里面有个齐天大圣的角色,欧洲战队玩的很溜,国内战队却不怎么会玩,自家人不会玩自家的神话英雄,实在有点悲哀. 我们用 Java 定义一个孙悟空的类吧: public class SunWukong { private Integer healthPoint;// 生命值 private Integer magicPoint;// 魔法值 /** * 棒击大地 */ private

阿里巴巴Java 开发手册编程规约之OOP规约

1. [强制]避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可.2. [强制]所有的覆写方法,必须加@Override 注解.说明: getObject()与 get0bject()的问题.一个是字母的 O,一个是数字的 0,加@Override可以准确判断是否覆盖成功.另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错.3. [强制] 相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object.说明: 可变

C# 并行编程 之 PLINQ 规约操作和聚合函数

概要 PLINQ可以简化对一个序列或一个组中所有成员应用同一个函数的过程,这个过程称之为规约操作.类似Sum()函数就是一个规约操作.PLINQ提供一个可重载Aggregate的接口,这里用户可以定义自己的规约函数. 规约操作是对每一个成员进行的操作,当操作完成后有可能需要将操作结果进行汇总得到一个最终的结果,这个就是聚合的概念. 规约操作 示例中要求计算 1 到 50000000中能被5整除的数除以PI以后得到的平均数.它可以用LINQ完成,也可以用PLINQ完成. 代码示例: using S

从一些简单代码实例彻底理解面向对象编程思想|OOP本质是什么?

从Rob Pike 的 Google+上的一个推看到了一篇叫<Understanding Object Oriented Programming>的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论. 先看这篇教程是怎么来讲述OOP的.它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差. 这个把下面这段代码描述成是Hacker Solution.(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码) 1 2 3 4

JavaScript的面向对象编程(OOP)(一)——类

在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的主要部分,那么和我持有一样想法的,下面先要纠正这一想法,真正了解面向对象. 一.初识面向对象 面向对象分为三部分,包括面向对象分析(OOA).面向对象设计(OOD).面向对象的程序设计(OOP). 1.1 OO编程(Object Oriented Analysis) 典型的OO编程过程,应先整理需求

继电保护装置规约104规约解析

101用于串口通调度,属于远动规约 104是101的网络版 103有串口的有以太网的,不是通调度的,是通保护装置的,属于继电保护规约 主站与子站通过IEC60870-5-104规约通讯协议说明 目录 目  录... 1 前  言... 1 一.IEC60870-5-104应用规约数据单元基本结构... 2 1.1 应用规约数据单元APDU.. 2 1.2 应用规约控制信息APCI2 1.3 应用服务数据单元ASDU.. 3 二.IEC60870-5-104规约的过程描述... 5 三.IEC60

Swift -POP( 面向协议编程)与OOP

面向协议编程(Protocol Oriented Programming,简称POP),是Swift的一种编程范式,Apple于2015年WWDC提出的,如果大家看Swift的标准库,就会看到大量POP的影子. 同时Swift也是一门面向对象的编程语言(Object Oriented Programming,简称OOP),在Swift开发中,OOP和POP是相辅相成的,任何一方并不能取代另一方. 回顾OOP OOP的三大特性:封装.继承.多态 继承的经典使用场合 当多个类(比如A.B.C类)具有