这两个重载方法,你怎么重构?
【资料图】
先看看下面SmsUtil类里的这两个重载方法
@ConfigurationProperties(prefix = "sms.config")@Setterpublic class SmsUtil { @Autowired private PlatformConfig platformConfig; private String smsUrl; /** * 发送短信 * * @param phone 手机号 * @param msg 信息内容 * @return 处理的信息 */ public String sendSMS(String phone, String msg) { StringBuilder sbParam = new StringBuilder(); StringBuilder url = new StringBuilder(); if (StringUtils.isBlank(phone)) { return "手机号不能为空!"; } if (StringUtils.isBlank(msg)) { return "发送的信息内容不能为空!"; } if (!msg.contains(platformConfig.getSmsSignature())) { msg = platformConfig.getSmsSignature() + msg; } try { sbParam.append("?account=").append(platformConfig.getSmsAccount()); sbParam.append("&pwd=").append(URLEncoder.encode(platformConfig.getSmsKey(), "UTF-8")).append("&mphone=").append(phone).append("&content=") .append(URLEncoder.encode(msg, "UTF-8")); url.append(smsUrl) .append(sbParam.toString()); Integer result = HttpClientUtils.requestByGetMethod(url.toString()); return result.toString(); } catch (Exception e) { e.printStackTrace(); log.error("发送短信异常", e); } return "信息发送成功!"; } /** * 发送短信 * @param phone 手机号 * @param msg 短信内容 * @param userName 通道名称 * @param passWord 通道密码 * @return */ public String sendSMS(String phone, String msg,String userName,String passWord) { StringBuilder sbParam = new StringBuilder(); StringBuilder url = new StringBuilder(); if (StringUtils.isBlank(phone)) { return "手机号不能为空!"; } if (StringUtils.isBlank(msg)) { return "发送的信息内容不能为空!"; } if (!msg.contains(platformConfig.getSmsSignature())) { msg = platformConfig.getSmsSignature() + msg; } try { sbParam.append("?account=").append(userName); sbParam.append("&pwd=").append(URLEncoder.encode(passWord, "UTF-8")).append("&mphone=").append(phone).append("&content=") .append(URLEncoder.encode(msg, "UTF-8")); url.append(smsUrl) .append(sbParam.toString()); Integer result = HttpClientUtils.requestByGetMethod(url.toString()); return result.toString(); } catch (Exception e) { e.printStackTrace(); log.error("发送短信异常", e); } return "信息发送成功!"; }}
我想你有一个想法跟我一样,重构方案如下↓↓↓↓
修改第一个sendSMS方法的方法体为:
/** * 发送短信 * * @param phone 手机号 * @param msg 信息内容 * @return 处理的信息 */ public String sendSMS(String phone, String msg) { return sendSMS(phone, msg, platformConfig.getSmsAccount(), platformConfig.getSmsKey()); }
当然,还有其他的需要重构调整的地方。例如 passWord,程序员的英语水平,应该是password。
再有,再有什么呢?
X 关闭
- 1这两个重载方法,你怎么重构?
- 2首批30个实践教学共建单位!“上海师范大学-徐汇区”打造“大思政课”育人共同体_新视野
- 3迪马股份:2022年公益捐赠合计金额133.8万元|ESG报告 环球新视野
- 4头条焦点:安全员c证报考官网_安全员c证多少钱一个月
- 5实时焦点:李隆基和武则天的关系_武则天与李隆基的关系
- 6小米路由器进入网址192.168.31.1_192 168 0 2
- 7世界观察:14年黑龙江高考分数线 2014年黑龙江省高考一本分数线是多少分
- 8全球热议:脱下长衫也不愿当瓦工 这不是年轻人的错
- 9每日观察!徐承飞入选山东省民营企业家“挂帅出征”百强榜“菁英型企业家”榜单
- 10全球快看:定了!"五一"假期小长假小客车上高速继续免费