资讯专栏INFORMATION COLUMN

如何编写高质量代码

only_do / 1187人阅读

摘要:如果你不能以高标准来要求自己,即使你看再多的如何写出高质量代码,懂再多的代码规范,也是没有用,最终还是会写出低质量代码。建议先从代码规范开始,熟悉代码规范,遵循规范写代码,直到成为习惯,然后再学习其它方法,最终写出高质量代码。

更多文章 什么是高质量代码?

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

可读性高

结构清晰

可扩展(方便维护)

代码风格统一

低复杂性

简练

编写高质量代码主要遵循以下几点: 代码规范 代码规范的好处

规范的代码可以促进团队合作

规范的代码可以降低维护成本

规范的代码有助于代码审查

养成代码规范的习惯,有助于程序员自身的成长

每个程序员最烦的就是修改别人的代码,无论代码好坏。因为第一眼看上去没有熟悉感,下意识就会排斥。

所以当团队的成员都严格按照代码规范来写代码时,可以保证每个人的代码看起来都像是一个人写的,看别人的代码就像是在看自己的代码。

重要的是我们能够认识到规范的重要性,并坚持规范的开发习惯。

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

前端代码规范推荐

百度前端代码规范

feross/standard · GitHub

Airbnb JavaScript Style Guide


提前设计

在接到一个需求时,千万不要看完需求就马上写代码,以免造成返工或误解需求的现象。在这个阶段一定要多问,看完需求后,在脑里过一下,把可能会涉及的情况都要问清楚。

一名好的程序员不仅仅是一名程序员,还要懂需求、业务。

在把情况都了解清楚后,如果项目规模不是很大,就可以开始写大纲了。

例如这样:

class Car {
  run(){},
  stop(){},
}

然后再开始实现细节。

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

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

具体流程

阅读文档,分析需求

画原型图或草图(方便自己理解整体架构)

写大纲或伪代码(如果项目比较大还要细分模块)

实现细节


重构

没有程序员能一次就写出完美的代码,而是需要通过不停的重构来完善代码,提升质量。

重构就是在不改变软件系统外部行为的前提下,改善它的内部结构。

重构可以使软件更容易地被修改和被理解。通过不断地改进软件设计以达到简单设计的目标,减少由于设计与业务的不匹配带来的架构与设计腐化。

重构能改善软件设计

重构使软件更易理解

重构有助于找到Bug

重构有助于提高自我编程能力

重构有助于加深理解代码

重构能适应需求变更

推荐阅读:重构


代码要求

不要编写大段代码

重复代码封装成函数

在编写代码的过程中养成不断重构的习惯

添加必要的注释

留下可扩展的空间


测试

无论是单元测试、自测或者是其它测试,最重要的目的都是为了找出尽可能多的BUG,保证产品的质量。

好的东西都是迭代改出来的,比如好的产品,好的架构,代码也不例外,写的好的代码都是经历了作者不停地 review 和修改。

测试的过程本身就是一个自我 code review 的过程,在这个过程中,可以发现一些设计上的问题(比如代码设计的不可测试),代码编写方面的问题(比如一些边界条件的处理不当)等,做到及时发现及时修正,不需要等到测试阶段甚至上线之后再发现再修改。


自我要求

个人认为这一点是最重要的,好的程序员都是有强迫症的,他们会严格要求自己,通过不断的学习来提升自己的技术最终成为大神级别的程序员。

如果你不能以高标准来要求自己,即使你看再多的如何写出高质量代码,懂再多的代码规范,也是没有用,最终还是会写出低质量代码。

但是,提高自我要求是一种改变,一般来说,改变都不是一蹴而就的,需要一步一步来。所以,改变最好从小事做起,慢慢积累,最终蜕变。

建议先从代码规范开始,熟悉代码规范,遵循规范写代码,直到成为习惯,然后再学习其它方法,最终写出高质量代码。


参考资料

https://kdboy.iteye.com/blog/...

https://www.jianshu.com/p/71a...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100866.html

相关文章

  • 提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

    摘要:现在,我们可以使用单元测试来提高自己的代码质量。它在单元测试的编写中通常用来模拟等相关请求。通过这篇文章,你应该学会了如何针对已有代码从零开始编写一套完整的单元测试用例。 概述 在日常的功能开发中,我们的代码测试都依赖于自己或者QA进行测试。这些操作不仅费时费力,而且还依赖开发者自身的驱动。在开发一些第三方依赖的库时,我们也没有办法给第三方提供完整的代码质量报告。 现在,我们可以使用单...

    voyagelab 评论0 收藏0
  • 编写质量的CSS

    摘要:以上,从分层组织,模块化,使用时注意低权重原则,以及巧用雪碧图阐述了提高代码质量的四个方面。编写高质量代码前端开发修炼之道曹刘阳 分层组织CSS 我们应用CSS的能力应该分成两部分:一部分是CSS的API,重点是如何用CSS控制页面内元素的样式;另一部分是CSS框架,重点是如何对CSS进行组织。 推荐一种组织CSS的方法: base.css + common.css + page.c...

    xuexiangjys 评论0 收藏0
  • 快速部署TEST-DRIVEN DEVELOPMENT/DEBUG环境

    摘要:关注的目标就是在代码提交之后,顺利且迅速的把新的功能部署到产品环境上。由于是,那么单元测试,回归测试,集成测试,都是实现的手段。高质量的产品需求书和高质量的自动化集成测试用例毫无疑问,是高质量软件的保证之一。 showImg(https://segmentfault.com/img/remote/1460000006877091?w=800&h=600); 什么是Test-Driven...

    SHERlocked93 评论0 收藏0
  • 【译】 13简单的优秀编码规则(从我15年的经验)

    摘要:记住,带有严格测试的代码可能比没有测试的代码更有害。保持简单,极度简单不要编写复杂的代码。并且它将是全球代码文档的良好开端。使用这样的迭代来部署质量更新,而不是腰部时间和资源对不合理的愿望和牺牲与质量。 原文地址:https://hackernoon.com/few-si... showImg(https://segmentfault.com/img/bVJdkG?w=1000&h=2...

    Eidesen 评论0 收藏0
  • 【译】 13简单的优秀编码规则(从我15年的经验)

    摘要:记住,带有严格测试的代码可能比没有测试的代码更有害。保持简单,极度简单不要编写复杂的代码。并且它将是全球代码文档的良好开端。使用这样的迭代来部署质量更新,而不是腰部时间和资源对不合理的愿望和牺牲与质量。 原文地址:https://hackernoon.com/few-si... showImg(https://segmentfault.com/img/bVJdkG?w=1000&h=2...

    zhunjiee 评论0 收藏0

发表评论

0条评论

only_do

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<