最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

这两个重载方法,你怎么重构?

来源:博客园


(相关资料图)

先看看下面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。

再有,再有什么呢?

关键词: