if (queryText === '') { mini.showTips({ content: '请填写查询方法', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (resourceData.length === 0) { mini.showTips({ content: '请选择数据资源表数据', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (!relateWhole) { mini.showTips({ content: '请检查关联查询字段行完整性', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (!screenWhole) { mini.showTips({ content: '请检查筛选条件行完整性', state: 'danger', showIcon: false, timeout: 1000 }); return false; } if (revealHasValue === 0) { mini.showTips({ content: '展示字段必填', state: 'danger', showIcon: false, timeout: 1000 }); return false; }优化下

时间: 2024-01-11 11:02:18 浏览: 17
可以将重复的代码段抽象成一个函数,提高代码的可读性和可维护性,例如: ``` function checkValidity(message, type) { if (type.length === 0) { mini.showTips({ content: message, state: 'danger', showIcon: false, timeout: 1000 }); return false; } return true; } ``` 然后在原来的代码中调用该函数,例如: ``` if (!checkValidity('请填写查询方法', queryText)) { return false; } if (!checkValidity('请选择数据资源表数据', resourceData)) { return false; } if (!checkValidity('请检查关联查询字段行完整性', relateWhole)) { return false; } if (!checkValidity('请检查筛选条件行完整性', screenWhole)) { return false; } if (!checkValidity('展示字段必填', revealHasValue)) { return false; } ``` 这样修改后,代码变得更加简洁和易于维护。
相关问题

优化这段代码function checkValidity(message) { mini.showTips({ content: message, state: 'danger', showIcon: false, timeout: 1000 }); } if (queryText === '') { checkValidity('请填写查询方法'); return false; } if (resourceData.length === 0) { checkValidity('请选择数据资源表数据'); return false; } if (!relateWhole) { checkValidity('请检查关联查询字段行完整性'); return false; } if (!screenWhole) { checkValidity('请检查筛选条件行完整性'); return false; } if (revealHasValue === 0) { checkValidity('展示字段必填'); return false; }

可以考虑使用一个数组来存储所有需要校验的条件及其对应的错误信息,然后使用循环遍历数组进行校验,并统一调用 `checkValidity` 函数输出错误信息。 具体实现如下: ```javascript const validations = [ { condition: queryText === '', message: '请填写查询方法' }, { condition: resourceData.length === 0, message: '请选择数据资源表数据' }, { condition: !relateWhole, message: '请检查关联查询字段行完整性' }, { condition: !screenWhole, message: '请检查筛选条件行完整性' }, { condition: revealHasValue === 0, message: '展示字段必填' } ]; for (let i = 0; i < validations.length; i++) { if (validations[i].condition) { checkValidity(validations[i].message); return false; } } ``` 这样可以将校验逻辑简化并提高代码的可维护性。同时,如果后续需要增加或修改校验条件,只需修改 `validations` 数组即可。

if (!string.IsNullOrEmpty(txtpickupCode.Text)) { if (jhDomain == null) { if (_mxDomain?.mxid == mxDomain?.mxid) { "当前已选择相同提货单明细!".showTips(); } } else { if (_jhDomain?.jhid == jhDomain?.jhid) { "当前已选择相同提货单明细!".showTips(); } } return; }优化这段代码

可以优化为以下代码: if (string.IsNullOrEmpty(txtpickupCode.Text)) { return; } if ((jhDomain == null && _mxDomain?.mxid == mxDomain?.mxid) || (jhDomain != null && _jhDomain?.jhid == jhDomain?.jhid)) { "当前已选择相同提货单明细!".showTips(); return; } 这样可以减少嵌套,增加可读性,并且代码逻辑更加清晰。

相关推荐

能将以下kotlin代码转换成java吗 package com.blog.demo41 import android.os.Bundle import android.util.Log import android.view.View import android.widget.Button import com.blog.AbstractLoggerActivity import com.blog.R import com.blog.demo39.TAG import com.blog.support.logger.Logger import java.io.BufferedReader import java.io.IOException import java.io.InputStream import java.io.InputStreamReader class StrokeOrderActivity : AbstractLoggerActivity() { var svgSix: String? = null var svgOne: String? = null lateinit var strokeOrderView1: StrokeOrderView lateinit var strokeOrderView2: StrokeOrderView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_stroke_order_layout) initLoggerLayout() strokeOrderView1 = findViewById(R.id.stroke_order_view1) strokeOrderView2 = findViewById(R.id.stroke_order_view2) findViewById<Button>(R.id.btn_load_svg_six).setOnClickListener { val name = "张.json" // 需要将 svg.json 放在 assets 或特定路径下 svgSix = loadSvgFromAssets(name) showTips("加载$name ->$svgSix") svgSix?.let { showTips("start draw -> $name") strokeOrderView1.setStrokesBySvg(it) } } findViewById<Button>(R.id.btn_load_svg_one).setOnClickListener { val name = "張.json" svgOne = loadSvgFromAssets(name) showTips("加载$name ->$svgOne") svgOne?.let { showTips("start draw -> $name") strokeOrderView2.setStrokesBySvg(it) } } } private fun loadSvgFromAssets(name: String): String? { try { assets.list("data")?.let { for (s in it) { if (name == s) { Log.d("zuo", "svgName-> $s") return loadSvgJson("data/$s") ?: "NULL" } } } } catch (e: IOException) { e.printStackTrace() } return null } private fun loadSvgJson(file: String): String? { var reader: BufferedReader? = null var inputStreamReader: InputStreamReader? = null try { val inputStream: InputStream = assets.open(file) inputStreamReader = InputStreamReader(inputStream) reader = BufferedReader(inputStreamReader) var line: String? val entity = java.lang.StringBuilder() while (reader.readLine().also { line = it } != null) { entity.append(line) } return entity.toString() } catch (e: java.lang.Exception) { e.printStackTrace() } finally { try { inputStreamReader?.close() reader?.close() } catch (e: IOException) { e.printStackTrace() } } return null } private fun showTips(str: String) { Log.d(TAG, str) Logger.i(TAG, str) } }

最新推荐

recommend-type

6-10.py

6-10
recommend-type

基于机器学习的入侵检测系统+源码+说明.zip

基于机器学习的入侵检测系统+源码+说明.zip
recommend-type

matlab基于潜在低秩表示的红外与可见光图像融合.zip

matlab基于潜在低秩表示的红外与可见光图像融合.zip
recommend-type

4-5.py

4-5
recommend-type

基于tensorflow使用简单线性回归实现波士顿房价预测源码.zip

基于tensorflow使用简单线性回归实现波士顿房价预测源码.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。