这两个重载方法,你怎么重构?
【资料图】
先看看下面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。
再有,再有什么呢?
关键词:
-
这两个重载方法,你怎么重构?2023-04-28
-
首批30个实践教学共建单位!“上海师范大学-徐汇区”打造“大思政课”育人共同体_新视野2023-04-28
-
迪马股份:2022年公益捐赠合计金额133.8万元|ESG报告 环球新视野2023-04-28
-
头条焦点:安全员c证报考官网_安全员c证多少钱一个月2023-04-28