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

做网站需要哪些证书百度seo在哪里

做网站需要哪些证书,百度seo在哪里,购物网站功能,网站制作后台怎么做在写代码业务逻辑的时候,有时候需求稍微变化一下都让代码变的很麻烦,如果只在现有代码基础上硬改,可能会让可读性降低,本文通过一个例子来演示字符串拼接的变化。 一开始的业务逻辑比较简单,是固定条件加一个需要判断…

在写代码业务逻辑的时候,有时候需求稍微变化一下都让代码变的很麻烦,如果只在现有代码基础上硬改,可能会让可读性降低,本文通过一个例子来演示字符串拼接的变化。

一开始的业务逻辑比较简单,是固定条件加一个需要判断再追加的条件:

List<String> currentUserDeptIds = getCurrentUserDeptIds();
return "forcetender = 1 " +(currentUserDeptIds.isEmpty() ? "" : " and cdeptid in (" + String.join(",", currentUserDeptIds) + ")");

后来连 forcetender = 1都要变成可选条件时,这里简单的字符串拼接就不可行了,例如改成下面:

String forceTenderPublish = Parameter.get("FORCE_TENDER_PUBLISH");
return ("1".equals(forceTenderPublish) ? "" : "forcetender = 1 ") +(currentUserDeptIds.isEmpty() ? "" : " and cdeptid in (" + String.join(",", currentUserDeptIds) + ")");

上面这种写法中如果 "1".equals(forceTenderPublish) 不满足,前面就是 "",此时如果后面条件满足,拼接时会额外带上 and 导致语法错误,如果不嫌麻烦把 and 改成条件判断就变成了:

String forceTenderPublish = Parameter.get("FORCE_TENDER_PUBLISH");
return ("1".equals(forceTenderPublish) ? "" : "forcetender = 1 ") +(currentUserDeptIds.isEmpty() ? "" : ("1".equals(forceTenderPublish) ? "" : "and ") + " cdeptid in (" + String.join(",", currentUserDeptIds) + ")");

这样倒是能实现功能了,但是不易于阅读,看着就很乱。

我们来看看GitHub Copilot会如何解决上面的变化。

Ask:

getDefaultCondition方法(基于上面第一次改动)最后的return有问题,当前面一个为空时,后面不需要有 and 前缀,请修改正确。

GitHub Copilot:

您的观察是正确的。在当前的实现中,如果forceTenderPublish不等于"1",那么返回的字符串将以" and “开始,这可能会导致SQL查询错误。我们可以通过将所有条件添加到一个列表中,然后使用String.join方法来解决这个问题。这样,只有当列表中有多个元素时,” and "才会被插入。

以下是修改后的getDefaultCondition方法:

String forceTenderPublish = Parameter.get("FORCE_TENDER_PUBLISH");List<String> conditions = new ArrayList<>();
if ("1".equals(forceTenderPublish)) {conditions.add("forcetender = 1");
}List<String> currentUserDeptIds = getCurrentUserDeptIds();
if (!currentUserDeptIds.isEmpty()) {conditions.add("cdeptid in (" + String.join(",", currentUserDeptIds) + ")");
}return String.join(" and ", conditions);

在这个修改后的版本中,我们首先创建一个空的conditions列表。然后,我们检查forceTenderPublish和currentUserDeptIds,如果它们满足条件,我们就将相应的条件添加到列表中。最后,我们使用String.join方法将所有条件连接起来,每个条件之间用" and “分隔。这样,只有当有多个条件时,” and "才会出现。

按照上面的方案,不仅方便我们增加更多的类似条件,而且可读性也大大提高了,遇到类似变化的时候,不能只实现功能,还要考虑易读性和后续可能的变化。

http://www.mmbaike.com/news/91262.html

相关文章:

  • 域名交易网站股票发行ipo和seo是什么意思
  • wordpress中文语言排名优化系统
  • 南京做网站询南京乐识2023网站seo
  • 理卖做各视频网站的会员泉州seo技术
  • 搭建什么样的平台重庆做seo外包的
  • 七牛云存储 wordpress 缩略图seo自动优化软件安卓
  • 手机网站制作推广定制爱站网工具
  • 外贸网站建设 杭州阿里指数官网
  • 美食网站案例网站快速有排名
  • 高端网站建设开发市场调研的内容
  • 网站建设价格评审资料清单网页seo是什么意思
  • 表格布局网站推广产品的方法和步骤
  • 互动科技 网站珠海网站建设
  • 电商网站项目经验介绍搜索历史记录
  • 中铁雄安建设有限公司网站盘古百度推广靠谱吗
  • 新网站如何做优化推广方案怎么做
  • 网站内的搜索是怎么做的深圳网站seo推广
  • 烟台免费做网站网址查询地址查询
  • 如何免费自己做个网站营销号
  • 网页设计短板图片南京seo
  • 用web开发一个网站怎么做个人seo外包
  • 网站在线建设快速收录工具
  • 网站制作 企业网站建设哪家好微信小程序怎么制作自己的程序
  • dw怎样建设网站自己怎样开网站
  • 惠州专业的免费建站2023第二波疫情已经到来
  • 青海环保网站建设公司sem和seo
  • wordpress 获取当前文章的id页面优化的方法有哪些
  • 注册网站要身份证吗排名nba
  • 教你做文案的网站推荐河南seo网站多少钱
  • 重庆网站建设帝维科技优化网站关键词排名软件