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

免费查企业最好的网站嘉兴秀宏建设公司网站

免费查企业最好的网站,嘉兴秀宏建设公司网站,厦门集美建设局网站,猫猫出品wordpress前言:一个函数应该尽量做一件事情,如果非要做多个事情,要做函数提取,每次迭代应该考虑到是否有重复代码或者可以优化的代码。 长函数:长函数的产生: 逻辑是平铺直叙的需求迭代没有考虑优化,一次…

        前言:一个函数应该尽量做一件事情,如果非要做多个事情,要做函数提取,每次迭代应该考虑到是否有重复代码或者可以优化的代码。

        长函数:长函数的产生:

  • 逻辑是平铺直叙的
  • 需求迭代没有考虑优化,一次加一点

一、避免逻辑是平铺直叙

不要把多个逻辑的事情写到一个函数中,每个函数只做一件事情。

badCase:

methods: {fetchDataAndRender() {// 数据请求axios.get('https://api.example.com/data').then(response => {// 数据处理this.data = response.data;// DOM操作document.getElementById('result').innerText = this.data;// 事件处理document.getElementById('button').addEventListener('click', () => {alert('Data loaded successfully!');});}).catch(error => {console.error('Error fetching data: ', error);});}
}

goodCase:

// Good Case
methods: {fetchData() {axios.get('https://api.example.com/data').then(response => {this.data = response.data;}).catch(error => {console.error('Error fetching data: ', error);});},renderData() {document.getElementById('result').innerText = this.data;},handleButtonClick() {document.getElementById('button').addEventListener('click', () => {alert('Data loaded successfully!');});}
}

二、函数最大行数

每个语言的设计不太一样,每个人对长函数的理解也不同,所以说没有一个规范的限制,可以给自己设定一个限制,前端应尽量保持一个函数不要超过30行

badCase:

 methods: {  registerUser() {  const { username, email, password } = this.form;  if (!username || !email || !password) {  alert('所有字段都是必填项!');  return;  }  if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {  alert('无效的电子邮件地址!');  return;  }  if (password.length < 6) {  alert('密码长度至少为6个字符!');  return;  }  // 假设有一个axios实例  this.axios.post('/api/register', {  username,  email,  password  })  .then(response => {  if (response.data.success) {  alert('注册成功!');  this.$router.push('/login');  } else {  alert('注册失败:' + response.data.message);  }  })  .catch(error => {  console.error('注册出错:', error);  alert('注册时发生错误,请稍后再试!');  });  }  }  

goodCase:

  methods: {  registerUser() {  if (!this.validateForm()) {  return;  }  this.sendRegistrationRequest();  },  validateForm() {  const { username, email, password } = this.form;  if (!username || !email || !password) {  alert('所有字段都是必填项!');  return false;  }  if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {  alert('无效的电子邮件地址!');  return false;  }  if (password.length < 6) {  alert('密码长度至少为6个字符!');  return false;  }  return true;  },  sendRegistrationRequest() {  this.axios.post('/api/register', this.form)  .then(response => {  if (response.data.success) {  alert('注册成功!');  this.$router.push('/login');  } else {  alert('注册失败:' + response.data.message);  }  })  .catch(error => {  console.error('注册出错:', error);  alert('注册时发生错误,请稍后再试!');  });  }  }  

三、避免重复的语句出现(if|else居多)

遇到简单的if的语句时应当换成三元表达式,遇到if|else逻辑相似时应该抽离

badCase:

 data() {  return {  userRole: 'admin'  };  },  computed: {  welcomeMessage() {  return this.getWelcomeMessage();  }  },  methods: {  getWelcomeMessage() {  let message = '';  if (this.userRole === 'admin') {  message = '欢迎管理员!';  } else if (this.userRole === 'editor') {  message = '欢迎编辑者!';  } else if (this.userRole === 'viewer') {  message = '欢迎查看者!';  } else {  message = '欢迎访客!';  // 假设这里还有其他逻辑,导致函数过长  // ...(省略其他逻辑)  }  // 假设这里还有更多的条件判断和逻辑处理  // ...(省略)  return message;  }  }  

goodCase:

 data() {  return {  userRole: 'admin',  roleMessages: {  admin: '欢迎管理员!',  editor: '欢迎编辑者!',  viewer: '欢迎查看者!',  }  };  },  computed: {  welcomeMessage() {  // 使用对象查找,如果不存在则返回默认消息  return this.roleMessages[this.userRole] || '欢迎访客!';  }  }  
}  

四、需求迭代,是否考虑到了优化?

当遇到新的需求迭代,避免不了影响之前的函数内的逻辑处理。

  • 前瞻性设计:开发一开始是否考虑到如果需求有了迭代?是否提前留好了后续的余地?
  • 童子军军规:需求迭代后,是否比迭代前的代码更加干净整洁?
  • 粒度越小越好:是否真的做到了每个函数是独立的只做了一件事情?
http://www.yayakq.cn/news/284349/

相关文章:

  • 交互式网站开发技术asp嘉兴手机模板建站
  • 邢台专业网站建设报价顺德营销型网站建设
  • 网站建设电子书专业微信网站开发公司
  • 做平台的网站有哪些内容吗深圳电子商务网站制作
  • 郑州制作网站电商网站 案例
  • 中小企业网站查询高端网站改版
  • js网站页面效果论坛推广的特点
  • 怎么建设免费网站wordpress 万能 主题
  • cms做企业网站建站系统怎么建立一个邮箱
  • 北京手机网站设计费用郑州哪里有做网站
  • 泉州免费网站制作淮安网站建设哪家好
  • 网站定制建设公司全网推广网站
  • 用照片做的ppt模板下载网站深圳网站开发哪家公司好
  • 网站备案每年一次图片下载网站哪个好
  • 广州定制型网站建设seo推广介绍
  • 君临天下游戏网站开发者四川成都营销型网站
  • 途牛电子商务网站建设医疗网站建设网站
  • 佛山网站建设的首选网址升级访问
  • 鲜花网站建设规划书办公室设计费一般多少钱一平
  • jsp做网站怎么打开高清线和视频线区别
  • 建设通网站武义巨合汪志刚海南省网站设计公司网址
  • 做鞋用什么网站好广西壮族自治区住房和建设厅网站
  • wordpress 查看站点网络营销推广的具体做法
  • 移动端友好网站产品网络推广方案范文
  • gta5网站显示建设中ipv6地址可以做网站吗
  • 国外购物网站建设北京网站建设方案建设公司
  • 网站做优化得话从哪里优化强大的技术团队网站建设
  • 宁波网站推广优化外包公司网站有哪些区别
  • 制作网站首页的步骤中美关系最新消息最新进展
  • 画流程图的网站漳州网站开发找出博大科技