千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 什么是可维护性的代码(上)

什么是可维护性的代码(上)

来源:千锋教育
发布人:qyf
时间: 2022-09-14 16:25:19 1663143919

什么是可维护性的代码

  今天我们不聊性能优化,只是从后期维护代码的角度谈谈如何优雅的书写代码

  · 为什么需要些可维护性高的代码 ?

  在开发的过程中,迭代和维护是再正常不过的操作了,那么就必然要阅读别人的代码

  你有没有遇到过一些尴尬的事情:

  1、看不懂别人的代码,不知从何下手

  2、修改一个功能,得读两天代码,改完发现 bug 最少的时候是修改以前

  3、只是修改了一行代码,发现控制台报错好几十个...

  如果代码的可维护性高了,那么可以避免很多这些问题

  编写可维护性高的代码, 从我做起 ^_^

  · 什么是可维护性高的代码 ?

  容易理解: 不需要求助源代码书写人员,就能看得懂

  符合常识: 代码书写的自然通透

  容易适配: 当数据发生变化的时候,不至于完全重写

  容易扩展: 对于核心功能有可扩展性(适当利用策略模式)

  容易调试: 当出现问题的时候,能给出明确且详细的错误提示,可以直接定位问题源

  从下面几点做起:

  一、代码可读性

  · 想要好维护, 那么第一任务就是你写的代码要让别人看得懂

  · 因为我们的代码,当他不运行的时候,就是一个纯文本

  · 想要让别人看得懂你写的一堆文本,那么就要从一切自定义的内容开始做起

  二、代码缩进

  · 能区分是论文还是代码的第一因素,也是最直观的因素就是代码缩进

  · 代码没有缩进,或者随机缩进,那么和给你看一篇火星文论文没有区别

  for (var i = 0; i < 100; i++) {

  if (true) {

  function fn() {

  for (var j = 0; j < 100; j++) {

  }

  }

  for (var j = 0; j < 100; j++) {

  }

  }

  }

  · 我们严格保持了代码缩进以后, 虽然代码意义不一定看得懂, 但是代码结构我能看得懂了

  for (var i = 0; i < 100; i++) {

  if (true) {

  function fn() {

  for (var j = 0; j < 100; j++) {

  }

  }

  for (var j = 0; j < 100; j++) {

  }

  }

  }

  · 这个时候就可以尝试下改一改了

  三、注释

  在任何一个语言里面,都是有注释的

  语言规范里定义注释,不是为了让你学了玩的,就是为了让你对代码进行一些标注的

  大型代码块,和大量变量堆积的地方,都要有清楚的注释,用来表明这个代码块或者说这一堆变量是干什么用的,尤其是函数,尽量做到每一个函数的前面都有一个说明注释。

  /*

  * fn 获取范围之间随机整数的函数

  * @param {Number} a 范围开始的数字

  * @param {Number} b 范围结束的数字

  * @return {Number} 范围内的随机整数

  */

  function fn(a, b) { ... }

  o 每一个函数都应该有参数说明,是否有返回值,返回值是什么

  o 因为这些内容在函数定义中是不能直观看到了,需要阅读代码才可以

  o 当你写明了这些以后,阅读性就大大提高了

  o 假设,你的函数块里面涉及到很复杂的算法,最好也是在说明注释里面标注出来

  当你对于一些浏览器问题做出的修复,你使用了一些黑科技

  o 那么你一定要把这些黑科技标注出来,避免别人修改你的代码的时候

  o 觉得这些黑科技没有用,给你删掉了,导致你修改好的问题又重新出现了

  四、变量和函数命名

  变量的命名和函数的命名,是最能体现我们自定义的地方

  对于每一个变量和函数的命名,我们都尽量准确的给到一个语义,不管你是使用 大驼峰 还是 小驼峰,都要保证看到名字就能知道这个变量或者函数的意义

  从变量来说

  1、尽量使用名词,而不是动词

  比如:car / person / show / ...

  2、常量来说,要使用大写字母来表示

  比如:TEST / BROWSER / ...

  3、区分全局和私有变量,函数内的私有变量我会以 _ 开头

  比如: _this / ...

  从函数来说

  1、当函数返回布尔值的时候, 一般会以 is 开头

  比如:isEnabled() / isSelected() / ...

  2、获取类的函数一般以 get 开头

  比如:getUserList() / getUserInfo() / ...

  3、设置类的一般使用 set 开头

  比如:setName() / setUserInfo() / ...

  4、修改类的一般使用 update 开头

  比如:updateName() / updatePrice() / ...

  4、程序处理类函数使用 handler 结尾

  比如:showEditHandler() / submitHandler() / ...

  5、尽可能的通过名字描述清楚函数的作用,不用担心太长,因为后期打包工具会帮我们处理掉的

  比如: getUserInfoById() / delGoodsParamsById() / ...

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区