全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2022-09-14 16:25:19
发布人:qyf

什么是可维护性的代码

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

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

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

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

  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() / ...

相关文章

抖店平台商户被退店还能退货吗?如何提高评分?

2023-09-19

抖店入驻收费多少?开抖店费用是多少?

2023-09-19

想做直播带货的货源哪里来?怎么找货源?

2023-09-19

抖店没有营业执照怎么办?类型有哪些?

2023-09-19

女孩子拍什么最容易火?拍视频怎么赚钱的?

2023-09-19

怎样投抖加不花钱,有哪些技巧?

2023-09-19
在线咨询 免费试学 教程领取