第四十条:谨慎设计方法签名

先明确:方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成,不包括返回值类型。

谨慎的选择方法的名称。

不要对于追求提供便利的方法。

避免过长的参数列表。目标是四个参数,或者更少。

有三种方法可以缩短过长的参数列表:

1.把过长参数列表的方法分解成多个方法,每个方法只需要这些参数的一个子集。

2.创建辅助类,用来保存参数的分组,这些成员类一般是静态成员类。如果一个频繁出现的参数序列可以被看作是代表了某个独特的实体,则建议

使用这种方法。

3.从对象构建到方法使用都使用Builder模式(参见第二条)。

对于参数类型,要优先使用接口而不是实现类。

时间: 2024-08-30 13:22:23

第四十条:谨慎设计方法签名的相关文章

第40条:谨慎设计方法签名

1.谨慎地选择方法的名称.遵循标准的命名习惯. 2.不过于追求提供便利的方法.方法太多会使类难以学习.使用.文档化.测试和维护. 3.避免过长的参数列表.目标是四个参数以下. 缩短参数列表的方法: (1)把方法分解成多个方法,可能会导致方法过多, 通过提升方法正交性,可以减少方法数目.java.util.List接口,它没有提供在子列表中查找元素第一个索引和最后一个索引的方法,这个两个方法需要三个参数,它提供了subList方法,需要两个参数,还有indexOf和lastIndexOf方法,需要

【代码优化】方法签名及参数检查

参数检查: 绝大多数方法的构造器对于传递给它的参数值会有某些限制.例如,索引值必须是非负数,对象不能 为null等等. 如果传递无效参数给方法,在执行前没对参数进行检查,该方法可能在处理过程中失败,并且产生令 人费解的异常.更糟的是,该方法可以正常返回数据.但是会得到一个错误的结果,你还认为是正确的, 没发现其中的倪端. 所以对于方法参数的检查是有必要的. 常见的几个错误,IllegalArgumentException,IndexOutOfBoundsException和NullPointEx

检测PHP程序员是否合格的四十条标准

四十条标准检测你是否是一个合格的PHP程序员,网上看到的,也不知道是谁出的标准,不官方,也不权威,但很给力,对在做php开发的同志们还是比较有参考性的.以下标准超过三条就不合格了.超过五条就得好好反省下自己的不足了.不可当真,仅供参考反省之用.1. 不会利用如phpDoc这样的工具来恰当地注释你的代码2. 对优秀的集成开发环境如 EclipsePHP EPP 或 Zend Studio PDT视而不见3. 从未用过任何形式的版本控制系统,如Subclipse4. 不采用某种编码与命名标准,以及通

四十条测试你是不是合格的PHP程序员

四十条测试你是否合格的PHP程序员,不官方,也不权威,但很给力.超过三条就不合格了.超过五条就得好好反省下自己的不足了. 1. 不会利用如phpDoc这样的工具来恰当地注释你的代码 2. 对优秀的集成开发环境如 EclipsePHP EPP 或 Zend Studio PDT视而不见 3. 从未用过任何形式的版本控制系统,如Subclipse 4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实 5. 不使用统一开发方式 6. 不转换(或)也不验证某些输入或SQL查询串(译

转:黑盒测试用例设计方法

1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1.              概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 2.2.              等价类划分法的应用 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理

软件测试实战 - 测试用例设计方法

一.测试分析 测试需求来源 开发需求DR:协议标准需求PR:用户需求UR:案例库需求LR:竞争需求CR:继承需求SR: 2. 测试项分析步骤 a. 为分析的测试项编号:b. 注明来源:开发文档/法律条款/案例库编号c. 整合测试项:删除合并重复测试项:大的测试项分解为测试子项:d. 分析测试项之间的关系: 3. 测试分析方法 a. 质量模型分析法:功能测试项.效率测试项.可靠性.易用性.可维护性.可移植性:b. 用户场景分析法:游客.普通用户.VIP用户.管理员用户等,不同角色权限不同,测试点也

atitit.架构设计---方法调用结果使用异常还是返回值

atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. java BlockingQueue的提示 2 5. 方案::两个都使用,一个api返回bool,一个throw 异常... 2 1. 应该返回BOOL类型还是异常 现在我遇到一个问题,我有一个函数,它要实现的功能是启动一个线程,然后让此线程监视一个事件. 但我应该返回BOOL类型还是异常哪? 作者:: 

成长系统的设计方法:如何“挖坑”,又不让玩家反感

原文地址:http://bbs.gameres.com/thread_330212.html 游戏类型:  设计类型:[系统/框架/思路/玩法] 成长系统的设计方法 目录 成长系统的设计方法.....................................1 一.坑的使用方式.........................................4 1.时效性..............................................4 2.获取方式......

测试用例的设计方法

测试用例的设计方法有: 等价类划分方法,边界值分析方法,错误推理方法,因果图方法,判定表驱动分析方法,正交实验设计方法,功能图分析方法,场景设计方法 等价类划分方法: 基本概念: 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 2.划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等