💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
前言: 在我的编程世界里,一直强调可维护性和健壮性,其次才是性能,不够优秀,不敢说对代码有洁癖。 试想,前者成立,性能是否也会有所提升呢!本文中,研究如何让我们的代码更加优雅,清晰明了。 * **Api请求,结果解构方式,并且添加finally** ***** ![](https://img.kancloud.cn/58/2b/582b440fe6f7c91083001a42db1846f4_725x217.png) * **通过Object 替换switch** ***** 如下图,`switch`语法很长,对比与对象方式,看着没那么舒服吧 ![](https://img.kancloud.cn/b5/3d/b53d4cec0672f5534e9cab9840b12e90_727x312.png) 使用obj[xxx]取值,就简洁多了 ![](https://img.kancloud.cn/73/a5/73a5a1347d571a863e9166f5c7542206_727x192.png) * **在 Vue业务组件中,多条件组合时,通过计算属性整合** ***** ![](https://img.kancloud.cn/80/f8/80f84f0e0a2dc6f05d7dff86810c9302_744x98.png) * **在Vue中,多个动态class时,通过计算属性整合** ***** ![](https://img.kancloud.cn/9a/f3/9af30df254e486a2d196ca087302563d_724x188.png) * **取Vuex值时,利用...mapState()** ***** ![](https://img.kancloud.cn/4d/e0/4de0910a84c4e84ba69318a319613dd1_724x167.png) * **ElementUI表单中resetFields()与clearValidate()方法** ***** 我相信很多人在做表单弹窗时,清除数据或者说弹框隐藏,其内容体采用`v-if`的方式,我认为这个方式太粗暴了!!! 对于追求这点性能的我,**重置表单配合清空校验**的方式,还不错哦 ``` // 前提 this.$refs['ruleForm'] !== undefined 等情况 this.$refs['ruleForm'].resetFields() this.$refs['ruleForm'].clearValidate() ``` * **reduce()替代flat(),flat解决兼容问题** ***** ``` export function flattenDeep(arr = []) { return arr.reduce((acc, val) =>Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []) } ``` * **CodeMetrics插件** ***** vscode安装此插件,可以显示基本的复杂度,作为参考将此数值进行差分 | x复杂度数 | 描述 | | --- | --- | | x <= 10 | 简单 | | 10 < x <= 30 | 中等 | | x > 30 | 复杂:建议拆分 | | 如图 | ![](https://img.kancloud.cn/d1/39/d1396e63c4e17c4b0dcbdcd3a7762538_751x143.png) | * **函数入参数量** ***** 函数参数建议不超过3个,超过建议使用Object,并结构 ``` function createMenu({ title, body, buttonText, cancellable }) { // ... } ``` https://mp.weixin.qq.com/s/P8PEI2GNPgylNrs4qukWww