当前位置: 首页 > news >正文

wordpress网站500网站seo快速排名

wordpress网站500,网站seo快速排名,烟草许可证每年做证去那个网站,传媒公司网站设计目录 谨慎选择方法名称 不要过于追求提供便利的快捷方法 避免过长的参数列表 对于参数类型优先使用接口而不是类 对于boolean参数,要优先使用两个元素的枚举类型 本文接续前一篇文章聚焦Java方法签名的设计,方法签名包括了方法的输入和输出参数以及…

目录

谨慎选择方法名称

不要过于追求提供便利的快捷方法

避免过长的参数列表

对于参数类型优先使用接口而不是类

对于boolean参数,要优先使用两个元素的枚举类型


本文接续前一篇文章聚焦Java方法签名的设计,方法签名包括了方法的输入和输出参数以及方法名称,在第51条作者总结了5条设计的经验。

谨慎选择方法名称

方法名称的设置有几个原则:一是易于理解,二是要符合大众的认可,比如get和set,比如驼峰命名法等等。这些细节可以参考Java类库的API。

不要过于追求提供便利的快捷方法

对于类或者接口的每一个动作都要提供功能齐全的方法。只有当某一项操作被经常使用时才考虑把它独立出来提供一个快捷的使用方式,但是这个方式如果只是其他方法经常使用,没有对外使用的场景就请以私有方法的形式定义。总之尽可能将面向客户端的方法设计的简单,易于理解。

避免过长的参数列表

对于客户端来说,超过4个的参数列表就不太容易使用了,尤其是有相同类型的参数,调用者很难记住参数的调用顺序,而且一旦有了错误相同类型的参数是不会直接返回异常的,所以会有非常大的风险。

文中列举了三种可以缩短过长参数列表的方法:

  • 把一个方法分解为多个方法,每一个方法取一部分的参数作为输入。
  • 创建辅助类,用来保存参数的分组。通过辅助类来分担一部分的参数输入
public class OrderManager {public static void main(String[] args) {// 创建一个 CustomerInfo 对象CustomerInfo customerInfo = new CustomerInfo("Alice Smith", "123 Main St", "New York", "NY", "10001");// 创建订单详情String productName = "Widget";double price = 99.99;Date orderDate = new Date();// 处理订单processOrder(customerInfo, productName, price, orderDate);}/*** Processes an order with customer information and order details.* @param customerInfo the customer information* @param productName the name of the product* @param price the price of the product* @param orderDate the date of the order*/public static void processOrder(CustomerInfo customerInfo, String productName, double price, Date orderDate) {// 进行处理订单的逻辑System.out.println("Processing order for " + customerInfo.getName());System.out.println("Product: " + productName);System.out.println("Price: $" + price);System.out.println("Order Date: " + orderDate);}
}class CustomerInfo {private String name;private String address;private String city;private String state;private String zipCode;public CustomerInfo(String name, String address, String city, String state, String zipCode) {this.name = name;this.address = address;this.city = city;this.state = state;this.zipCode = zipCode;}public String getName() {return name;}public String getAddress() {return address;}public String getCity() {return city;}public String getState() {return state;}public String getZipCode() {return zipCode;}
}

这里通过CustomerInfo作为辅助类分担了processOrder的一部分参数。

  • 采用Builder模式,见第2条

对于参数类型优先使用接口而不是类

用类作为参数会限制客户端对于参数类型的选择范围。比如用Map接口作为参数类型就可以允许客户端输入HashMap, TreeMap等实现类。

对于boolean参数,要优先使用两个元素的枚举类型

对于输入为boolean值的方法,输入true或者false不易于阅读和理解,而且一旦未来方法要加入第三种选择,则方法没有任何可扩展性。所以可以通过枚举类型来保留这部分可扩展性,同时还更易于理解:

public enum TemperatureScale{FAHRENHEIT, CELSIUS}Thermometer.newInstance(TemperatureScale.CELSIUM)
//而不是Thermometer.newInstance(true)

http://www.yidumall.com/news/80273.html

相关文章:

  • 做音响网站推广平台都有哪些
  • 邢台163最新交友昆明百度关键词优化
  • 微信网站建设方案朝阳seo推广
  • 目前主流的网站开发语言seo全称
  • 关键词网站建设优化做网络销售如何找客户
  • 新浪虚拟主机做网站福州seo建站
  • 官方网站后台图片下载怎么做二级不死域名购买
  • 怎么按照屏幕比例做网站适应网页设计网站
  • 寺庙招人做网站维护吗外贸网站建设案例
  • 设计常用网站企业产品营销策划推广
  • 网站设计赚钱吗淘宝关键词
  • 网站模板免费下载网站关键词挖掘查询工具爱站网
  • 计算机科学与技术网站建设方向发布
  • 济南网站制作 泉诺网站seo在线诊断
  • 郑州网站模板什么是互联网销售
  • 网站吸引客户app推广的常用方法
  • 百度账号登录入口怎么做网站关键词优化
  • 做的最好的相亲网站有哪些站长统计app软件下载官网
  • 网页升级访问狼每日正常更新郑州seo顾问
  • 格力网站的建设情况制作一个网站的流程有哪些
  • 武汉网站建设索王道下拉网站安全查询系统
  • 怀化网站制作百度统计工具
  • 商城网站制作报价精准引流获客软件
  • 网站首页效果图怎么设计b2b免费推广网站
  • 国际电商平台排名搜索引擎优化入门
  • 公司网站模板最新推广普通话手抄报句子
  • wordpress验证登录seo用什么论坛引流
  • 黄山旅游攻略三日游自驾游百度seo是什么意思呢
  • 企业宣传文案模板seo推广排名软件
  • 站长之家seo网络营销与传统营销的整合