首页 > 编程语言 >7个必备JavaScript优化技巧,CodeGeeX 5秒搞定了!

7个必备JavaScript优化技巧,CodeGeeX 5秒搞定了!

时间:2023-06-16 16:15:41浏览次数:52  
标签:搞定 const 代码 JavaScript 插件 value CodeGeeX day

JavaScript,目前成了使用最广泛的编程语言。这篇文章给出的是一些 JavaScript 的优化技巧,这些技巧帮助开发者编写出更好的代码。当写完这些代码段之后,我突然意识到,所有的这些代码段,由于它们的常用性,非常适合用AI辅助编程工具CodeGeeX来自动生成。

下载使用——CodeGeeX插件,在VSCode和JetBrains IDEs可以直接免费下载使用。CodeGeeX插件可以自动实现代码生成,可以逐行为代码添加注释,也可以进行不同编程语言之间的代码翻译。特别值得点赞的功能“Ask CodeGeeX”,把类似chatGPT一样的智能问答功能,与开发者编程环境IDE深度融合。开发者可以在IDE中,通过问答对话的方式解决技术问题。

在IDE中使用Ask CodeGeeX功能,使得开发过程中遇到的问题,都可以在IDE中沉浸式解决,不用跳出开发环境寻找解决代码问题的答案,提升了代码开发效率。同时,在这个新版本中,通过对话框区域常用命令“explain/解释代码”、“comment/生成注释”、“fixbug/检查bug”的快捷方式,可以直接操作代码,实现代码解释,逐行添加代码注释,尝试修复代码片段潜在bug等功能。

“explain/解释代码”按钮,获得整段代码解释

当你编写代码时,希望了解某一段生成的代码作何解释?那么你就可以在CodeGeeX插件的代码生成区域中,选中该段代码,左侧边栏的对话区会出现浮层,同时展示选中代码。在对话区通过快捷按钮:“解释代码”,在对话界面中就可以回复出整段的代码解释。

“comment/生成注释”按钮为代码逐行添加注释

同样,当你希望为一段生成的代码逐行添加注释,你就可以在CodeGeeX代码生成区域,选中该段代码,侧边栏的对话区会出现浮层,同时展示选中代码。在对话区通过快捷按钮:“生成注释”,在对话界面就可以直接为这段代码逐行添加注释。

“fixbug/检查bug”修复代码潜在bug

当你编写代码遇到一个错误时,在CodeGeeX插件的代码生成区域中选中该段代码,左侧边栏的对话区会出现浮层,同时展示选中代码。在对话区通过快捷按钮:“检查bug”,代码编辑区就可以直接帮你找到这段代码中的问题并进行错误修复,并且对修复代码的区域做高亮标记,方便进行代码对照。

Fallback Values:回退值

// Lengthy
let name;
if (user?.name) {
  name = user.name;
} else {
  name = "Anonymous";
}

// Shortly
const name = user?.name ?? "Anonymous";

这个代码段可以用CodeGeeX插件工具,在你代码上下文中自动生成。

Shortly For Switching
Long switch通常使用一个对象来最大化,其中Key为开关,Value为返回值。

const dayNumber = new Date().getDay();

// Lengthy
let day;
switch (dayNumber) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
    day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}

// Shortly
const days = [
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday",
];

// Or
const days = `Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday`.split(
    ","
);

const day = days[dateNumber];

这个代码段可以用CodeGeeX插件工具,在你代码上下文中自动生成。

Calls To Functions

函数调用

// Lengthy
function f1() {
  // ...
}
function f2() {
  // ...
}

// Shorter
condition ? f1() : f2();

这个代码段可以用CodeGeeX插件工具,在你代码上下文中自动生成。

多个字符串检查

通常需要检查字符串是否等于多个值之一,不难但很繁琐。这里完全可以交给CodeGeeX来生成这段代码。

// Lenghty
const isVowel = (letter) => {
  return (
    letter === "a" ||
    letter === "e" ||
    letter === "i" ||
    letter === "o" ||
    letter === "u"
  );
};

// Shortly
const isVowel = letter => /[aeiou]/i.test(letter);

For-of 和 For-in 循环有利于重复数组或对象,无需手动跟踪对象键的索引。

For-of

const arr = [1, 2, 3, 4, 5];

// Lengthy
for (let i = 0; i < arr.length; i++) {
  const element = arr[i];
  // ...
}

// Shortly
for (const element of arr) {
  // ...
}

For-in

const obj = {
  a: 1,
  b: 2,
  c: 3,
};

// Lengthy
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {
  const key = keys[i];
  const value = obj[key];
  // ...
}

// Shortly
for (const key in obj) {
  const value = obj[key];
  // ...
}

这个代码段可以用CodeGeeX插件工具,在你代码上下文中自动生成。

False Checks

如果要检查变量是空、未定义、0、假、还是空字符串,可以使用逻辑非执行操作。使得验证变量是否包含有效数据变得简单。

// Lengthy
const isFalsey = (value) => {
  if (
    value === null ||
    value === undefined ||
    value === 0 ||
    value === false ||
    value === NaN ||
    value === ""
  ) {
    return true;
  }
  return false;
};

// Shortly
const isFalsey = (value) => !value;

这个代码段可以用CodeGeeX插件工具,在你代码上下文中自动生成。

Secondary Operator

JavaScript开发一定遇到过ternary operator。这是编写简洁版if-else语句的绝佳方法。你可以用它来编写简洁的代码,甚至可以连起来检查多个条件。

// Lengthy
let info;

if (value < minValue) {
  info = "Value is too small";
} else if (value > maxValue) {
  info = "Value is too large";
} else {
  info = "Value is in range";
}

// Shortly
const info =
  value < minValue
    ? "Value is too small"
    : value > maxValue ? "Value is too large" : "Value is in range";

本文由博客一文多发平台 OpenWrite 发布!

标签:搞定,const,代码,JavaScript,插件,value,CodeGeeX,day
From: https://www.cnblogs.com/chattech/p/17485779.html

相关文章

  • JavaScript 数组展平方法: flat() 和 flatMap()
    JavaScript数组展平方法:flat()和flatMap()从ES2019中开始引入了一种扁平化数组的新方法,可以展平任何深度的数组。flatflat()方法创建一个新数组,其中所有子数组元素以递归方式连接到特定深度。语法:array.flat(depth)array:flat()方法将在给定的数组中使用。depth......
  • JavaScript 变量和数据类型
    JavaScript变量和数据类型变量在JavaScript中,变量用于存储和操作数据。声明一个变量需要使用关键字var、let或const。1.使用var声明变量varname='John';varage=28;var关键字可以被同一作用域内的其他代码访问到,而不受块级作用域的限制。var声明的变量可......
  • 防止Javascript重新排序JSON
    javascript中的对象为什么会按照键来自动排序?原因:javascript中的对象按照键来自动排序是浏览器造成的,经查V8的相关文档得出以下结论:Chrome浏览器下创建的js对象数组会自动按照键排序、FireFox99.0版本(最新版本)会,FireFox 4.0.1不会。 解决方法:必须将对象的键值转换为字符,......
  • javaScript语言学习指南
    简介关于JavaScript的入门学习教程,网上通常会推荐以下书籍:《JavaScript权威指南》(其中涵盖语言核心部分和浏览器客户端编程,比较系统和全面,个人比较推荐,电子版下载(中文版),英文版)《JavaScript高级程序设计》(作为参考书与《JavaScript权威指南》一起参考阅读还不错,电子版下载)《......
  • Javascript:正则表达式初学者指南(Regex) [a-zA-Z0-9]{4} 表示 包含大小写字母或者数字
    Javascript:正则表达式初学者指南(Regex)[a-zA-Z0-9]{4}表示包含大小写字母或者数字的字符串长度是4https://www.w3cschool.cn/article/55107251.html正则表达式是形成可以在字符串中搜索的模式的一组字符。正则表达式可用于验证,例如验证信用卡号,用于搜索,即通过复杂的文本匹配,......
  • 一文读懂物联网平台如何搞定80%以上的物联网项目
    太卷了!一套物联网平台就能搞定80%以上的项目?! 在刚刚结束的AIRIOT4.0物联网平台发布会上,航天科技控股集团股份有限公司智慧物联事业部总经理田淼给出答案。  在主题演讲环节,田总以【80%的物联网项目服务商都会面临的需求】作为切入点,表达了AIRIOT4.0作......
  • javascript eval和JSON之间的联系
    本文着重解释eval函数和JSON数据格式之间的联系以及一些细节上的问题。如果您想详细了解eveval :https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Functions/EvalJSON:http://www.json.org/eval函数的工作原理eval函数会评估一个给定的含有JavaScr......
  • 一些JavaScript单行代码
    数组去重从数组中删除所有重复值,实现方式非常多,我们这里就说最简单的方式,一行代码搞定:constuniqueArr=(arr)=>[...newSet(arr)];console.log(uniqueArr(["前端","js","html","js","css","html"]));//['前端','js',&......
  • 碎片化学习前端之JavaScript(JS 压缩图片)
    前言图片压缩是前端开发中常见的需求,目前前端主流的解决方案有:Canvas手动实现压缩以及第三方库压缩两种方案。Canvas手动实现压缩Canvas实现压缩主要原理是:将图片绘制到canvas上,然后通过调整canvas的宽高来实现压缩。functioncompressImage(file,maxWidth,maxHeight......
  • 云小课|RDS for MySQL参数模板一键导入导出,参数配置轻松搞定
    摘要:云数据库RDSforMySQL支持参数模板的导入和导出功能。本文分享自华为云社区《【云小课】【第56课】RDSforMySQL参数模板一键导入导出,参数配置轻松搞定》,作者:数据库的小云妹。云数据库RDSforMySQL支持参数模板的导入和导出功能。导入参数模板:导入后会生成一个新的参数模板,......