前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何编写高质量代码

如何编写高质量代码

作者头像
谭光志
发布2020-09-28 10:34:29
7660
发布2020-09-28 10:34:29
举报
文章被收录于专栏:编程技术分享编程技术分享

什么是高质量代码?

高质量代码具有以下几个特点:

  • 可读性高
  • 结构清晰
  • 可扩展(方便维护)
  • 代码风格统一
  • 低复杂性
  • 简练

编写高质量代码主要遵循以下几点:

代码规范

代码规范的好处
  • 规范的代码可以促进团队合作
  • 规范的代码可以降低维护成本
  • 规范的代码有助于代码审查
  • 养成代码规范的习惯,有助于程序员自身的成长

每个程序员最烦的就是修改别人的代码,无论代码好坏。因为第一眼看上去没有熟悉感,下意识就会排斥。 所以当团队的成员都严格按照代码规范来写代码时,可以保证每个人的代码看起来都像是一个人写的,看别人的代码就像是在看自己的代码。 重要的是我们能够认识到规范的重要性,并坚持规范的开发习惯。

接下来,你要做的事就是找一份良好的代码规范并一直坚持使用,直到形成习惯。

前端代码规范推荐

提前设计

在接到一个需求时,千万不要看完需求就马上写代码,以免造成返工或误解需求的现象。在这个阶段一定要多问,看完需求后,在脑里过一下,把可能会涉及的情况都要问清楚。 一名好的程序员不仅仅是一名程序员,还要懂需求、业务。 在把情况都了解清楚后,如果项目规模不是很大,就可以开始写大纲了。 例如这样:

代码语言:javascript
复制
class Car {
  run(){},
  stop(){},
}

然后再开始实现细节。

如果项目规模比较大,可以通过思维导图或其他工具写一个项目的原型(当然这种活一般都会由项目经理或产品来负责),再细分到不同的程序模块来一一实现。

“磨刀不误砍柴功”,千万不要为了求快而直接写代码。

具体流程
  • 阅读文档,分析需求
  • 画原型图或草图(方便自己理解整体架构)
  • 写大纲或伪代码(如果项目比较大还要细分模块)
  • 实现细节

重构

没有程序员能一次就写出完美的代码,而是需要通过不停的重构来完善代码,提升质量。 重构就是在不改变软件系统外部行为的前提下,改善它的内部结构。 重构可以使软件更容易地被修改和被理解。通过不断地改进软件设计以达到简单设计的目标,减少由于设计与业务的不匹配带来的架构与设计腐化。

  • 重构能改善软件设计
  • 重构使软件更易理解
  • 重构有助于找到Bug
  • 重构有助于提高自我编程能力
  • 重构有助于加深理解代码
  • 重构能适应需求变更

推荐阅读:重构

代码要求

  • 不要编写大段代码
  • 重复代码封装成函数
  • 在编写代码的过程中养成不断重构的习惯
  • 添加必要的注释
  • 留下可扩展的空间

测试

无论是单元测试、自测或者是其它测试,最重要的目的都是为了找出尽可能多的BUG,保证产品的质量。 好的东西都是迭代改出来的,比如好的产品,好的架构,代码也不例外,写的好的代码都是经历了作者不停地 review 和修改。 测试的过程本身就是一个自我 code review 的过程,在这个过程中,可以发现一些设计上的问题(比如代码设计的不可测试),代码编写方面的问题(比如一些边界条件的处理不当)等,做到及时发现及时修正,不需要等到测试阶段甚至上线之后再发现再修改。

自我要求

个人认为这一点是最重要的,好的程序员都是有强迫症的,他们会严格要求自己,通过不断的学习来提升自己的技术最终成为大神级别的程序员。 如果你不能以高标准来要求自己,即使你看再多的如何写出高质量代码,懂再多的代码规范,也是没有用,最终还是会写出低质量代码。 但是,提高自我要求是一种改变,一般来说,改变都不是一蹴而就的,需要一步一步来。所以,改变最好从小事做起,慢慢积累,最终蜕变。 建议先从代码规范开始,熟悉代码规范,遵循规范写代码,直到成为习惯,然后再学习其它方法,最终写出高质量代码。

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是高质量代码?
    • 编写高质量代码主要遵循以下几点:
      • 代码规范的好处
      • 前端代码规范推荐
      • 具体流程
  • 代码规范
  • 提前设计
  • 重构
  • 代码要求
  • 测试
  • 自我要求
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档