新的一年了,最近也不知道忙什么,杂七杂八的事情太多了。
今天再发一个代码级别的优化点,就是业务意义不一样但功能一样,却有着两份代码:
public boolean hasExcludeProperty(String[] excludeProperties,
String[] properties) {
if (excludeProperties != null) {
for (String exPro : excludeProperties) {
for (String pro : properties) {
if ((exPro.trim()).equals(pro.trim())) {
return true;
}
}
}
}
return false;
}
private boolean isExcludeCats(String[] excludeCats, String[] categoryIds) {
if (excludeCats != null && categoryIds != null)
{
for (String cat : excludeCats) {
if (StringUtil.isEmpty(cat)) {
continue;
}
for (String str : categoryIds) {
if (cat.equals(str)) {
return true;
}
}
}
}
return false;
}
上面两段代码中同一个类中出现,其实实现的功能都是检查第二个数组中的字符串是否在第一个数组中出现,只要写一份代码即可。
优化后结果如下
/**
* 判断目标数组中的字符串是否在源数组中出现
* @param src 源数组
* @param dest 目标数组
* @return true 存在着相同的字符串
*/
private boolean isContain(String[] src,String[] dest) {
if (src == null || dest == null || src.length<1 || dest.length<1)
{
return false;
}
for(String s : src) {
if (StringUtil.isEmpty(s)) {
continue;
}
s = s.trim();
for (String d : dest) {
if (StringUtil.isEmpty(d)) {
continue;
}
if (s.equals(d.trim())) {
return true;
}
}
}
return false;
}
分享到:
相关推荐
4. 避免空格和注释:多余的空格、换行符和注释会增加文件大小,虽然看似微不足道,但累积起来效果明显。 二、头部优化 1. 优先加载内容:将重要的脚本和样式表放在文档头部,确保在HTML渲染时能立即应用,但应避免...
描述中的内容看似重复了标题,实际上是在强调这是一个关于MEA优化BP神经网络的代码实现。这意味着包含的源码可能包括了MEA-BP算法的完整实现,涵盖了从网络结构定义、训练过程到损失函数计算等关键部分。这样的代码...
代码执行重复则指的是在程序的不同位置执行了相同的代码块,比如在多个地方都进行了数据库查询。这种情况可以通过引入缓存、服务层或者存储过程来优化。 提高代码复用性的策略包括: 1. **模块化**:将相关的代码...
4. **优化考虑**:当生成大量不重复随机数时,我们可能需要考虑性能优化。例如,如果n接近99,那么上述方法可能会因为频繁的集合操作而变慢。这时,可以改用更高效的算法,如Fisher-Yates洗牌算法,对0-99的全集进行...
在某些情况下,这些优化可能导致编译器错误地删除看似重复但实际上必要的代码,例如对同一端口的连续读取。 在特定案例中,开发者试图连续读取地址0x8000处的外设数据。初始定义如下: ```c unsigned char xdata ...
混沌理论是研究复杂动态系统的学科,尽管这些系统的运动看似随机无序,但实际上却遵循着某种内在的确定性规律。混沌可以帮助模拟退火算法在搜索全局最优解的过程中生成更加随机、更加广泛的状态空间,从而避免在优化...
重构可以在很多方面进行,例如将代码从一个类转移到另一个类,或把某些代码提出来形成独立的函数,甚至重新组织代码到不同的继承体系中去。Martin Fowler在书中详细地讲解了何时应该进行重构,如何进行重构,以及...
【描述】中提到的信息重复,没有提供额外的知识点,但可以理解为强调这是一个关于仿真代码的资源。 【标签】“LLC”直接关联到LLC谐振转换器,这是电力电子领域的一个重要主题,常用于DC-AC逆变器、DC-DC转换器等...
然而,描述中的内容较为模糊,没有具体说明需要何种类型的代码或者代码要实现什么功能,这在实际的IT交流中是不够明确的,因为不同的编程任务可能需要截然不同的代码结构和逻辑。 在标签部分,“11”并没有提供太多...
在IT领域,生成不重复的随机数序列是一个常见的需求,尤其是在需要进行随机抽样、数据模拟或游戏开发等场景中。下面将详细解析如何通过编程实现这一目标,并...通过不断实践和优化,可以更好地满足不同场景下的需求。
- **编译器优化挑战**:无条件的goto语句使编译器难以预测程序流程,从而降低了代码优化的能力,即便源代码看似高效,编译后的执行效率也可能大打折扣。 ##### 支持goto的观点 - **特定场景下的优势**:支持者认为...
这个实现看似简单,但存在一些潜在的问题和优化空间。 1. **代码可读性**:虽然代码实现了功能,但可读性有待提高。例如,可以添加注释来解释代码的目的和工作原理,帮助其他开发者理解。 2. **异常处理**:获取...
3. **代码审查:**对报告的重复代码进行人工审查,确认是否真的是误报,必要时进行合并或优化。 4. **使用注释:**在代码中添加适当的注释,解释为何会有重复,有助于避免未来误报和理解代码。 5. **反馈给SonarQube...
开发代码生成器虽然可能在小规模项目中看似效率不高,但在大规模项目中,其价值在于能快速产生大量基础代码,让开发者可以专注于更有创造性的工作。通过分享源代码,作者希望初学者能从中学习并提高代码质量,同时...
【描述】"c# 生肖速查 源代码"重复多次,虽然看似与标题不完全一致,但可以推测可能项目中包含了与生肖查询相关的功能。生肖速查可能是该石英钟应用的一个附加特性,允许用户快速查询中国传统的十二生肖信息,如生肖...
重构的目的通常是为了提高代码的可读性和可维护性,同时减少重复代码,优化性能。例如,上述代码中的逻辑可以进一步抽象成函数,以便在需要的时候复用相同的逻辑。 总结来说,在编写JavaScript代码时,应当考虑代码...
此外,为了增强代码的可读性和可维护性,可以将重复的代码片段封装成函数,避免代码冗余。 ### 结语 通过上述分析,我们可以看到,即使是一行看似简单的代码,背后也蕴含着深刻的技术原理和编程智慧。掌握这些技巧...
这些信息对于未来的调试和优化工作非常有价值,能够帮助开发者避免重复犯同样的错误。 2. **代码重构与维护**:有时候,看似无用的代码可能是遗留下来的,它们可能是未来代码重构的基础,或者是某一历史版本的备份...
在Java开发中,代码性能优化是一项至关重要的...记住,代码优化就像喂饱鲸鱼的小虾米,虽然单个优化看似微不足道,但积累起来的效果不容忽视。在有足够时间和资源的情况下,深入优化代码,对于提升整体性能至关重要。