加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

重构的艺术:五个小妙招助你写出好代码!

发布时间:2019-11-06 02:33:07 所属栏目:建站 来源:读芯术
导读:副标题#e# 糟糕的代码可以运作,但早晚会让我们付出代价。你有没有遇到过这样的问题:几周后,你无法理解自己的代码,于是不得不花上几个小时,甚至几天的时间来弄清楚到底发生了什么。 解决这个常见问题的方法是使代码尽可能清晰。如果做得更好的话,即使

如你所见,这让人困惑,也很难理解里面发生了什么。如果有错误出现,都很难找到并修复它们。如何改进startProgram函数?可以将公共逻辑提取到函数中。以下是具体操作方法:

  1. function startProgram() { 
  2.   if (!window.indexedDB) { 
  3.     throw new Error("Browser doesn't support indexedDB"); 
  4.   } 
  5.  
  6.   initDatabase(); 
  7.   setListeners(); 
  8.   printEmployeeList(); 
  9. } 
  10.  
  11. function initDatabase() { 
  12.   let openRequest = indexedDB.open('store', 1); 
  13.  
  14.   openRequest.onerror = () => { 
  15.     console.error('Error', openRequest.error); 
  16.   }; 
  17.   openRequest.onsuccess = () => { 
  18.     let db = openRequest.result; 
  19.   }; 
  20. } 
  21.  
  22. function setListeners() { 
  23.   document.getElementById('stat-op').addEventListener('click', () => {}); 
  24.   document.getElementById('pre2456').addEventListener('click', () => {}); 
  25.   document.getElementById('cpTagList100').addEventListener('change', () => {}); 
  26.   document.getElementById('cpTagList101').addEventListener('click', () => {}); 
  27.   document.getElementById('gototop').addEventListener('click', () => {}); 
  28.   document.getElementById('asp10').addEventListener('click', () => {}); 
  29. } 
  30.  
  31. async function printEmployeeList() { 
  32.   const employees = await getEmployeeList(); 
  33.  
  34.   document.getElementById('employeeSelect').innerHTML = formatEmployeeList(employees); 
  35. } 
  36.  
  37. function formatEmployeeList(employees) { 
  38.   return employees.reduce( 
  39.     (content, employee) => content + employee.name + '<br>', 
  40.     '' 
  41.   ); 
  42. } 
  43.  
  44. function getEmployeeList() { 
  45.   return fetch('employeeList.json').then(res => res.json()); 
  46. } 

把逻辑提取到函数里

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读