高质量代码的三大要素:

可读性、可维护性和可变更性

  1. 做好代码规范、提高代码质量,能显著增强代码的可读性、可维护性和可变更性。努力提高代码的读写可维护性,是做好代码规范的必要非充分条件。代码规范和架构设计是软件的灵魂所在,代码质量偏低,就像是人失去了三魂七魄中的一魄,就会丧失活力,影响正常运行,增加软件交付后维护成本,出现推迟完成、超出预算、特性缺失等现象。

  2. 任何语言都需要强调编码风格的一致性。只要是团队开发,每个人都以相同的方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。

  3. 实际上,每家公司都会有一份(或多份)代码规范,因此提高代码的读写可维护性的关键在于是否能落实公司的相关文档,公司的技术总监、项目经理或相关代码审查机关是否具有应有的执行力。如果不能落实,那么即便代码规范画得再美,具体的代码也会丑到崩溃。

代码规范

如果不想为以后挖坑,做好代码规范是程序员和团队负责人、项目经理的必修课。如何保证当前项目开发过程中压力正常,而不是在后期面对过多的压力、以至于噩梦缠身?最简单的办法就是照看好你的代码,也就是落实好公司的代码规范工作。每天为此付出一丁点的努力,便可以避免代码腐烂,并保证代码产品日后不至于变得难以理解(可读性)和维护(可维护性)。

代码的可读性

代码的可读性是指代码让人容易阅读、跟踪和理解的程度。提高代码的可读性可以为代码阅读者节约时间(避免阅读时浪费过多无谓的时间)和精力(Debug、扩展功能或是性能优化的前提条件是你要读懂这段代码)。以下是摘选的可供参考的策略:

  1. 编码风格一致

  2. 代码清晰表达意图

  3. 恰到好处的注释

  4. 不能太多或太少,注释的形式根据代码具体的情况有不同;

  5. 避免用注释包裹代码;

  6. 尽量留下简明扼要的注释;

  7. 评估取舍(不要编写大段的代码)

  8. 避免写一些现在不需要、将来也不太可能需要的功能:

  9. 不完美主义:不多写代码(如会话存储拆分);

  10. 避免做没有太大价值的优化工作;

  11. 区分任务的轻重缓急:

  12. 头疼医头也医脚:先容忍失败,再解决问题(如节点关闭逻辑);

  13. 不头疼不医头:量化分析(如参数调整回滚等);

  14. 综合考虑一下性能、便利性、生产力、成本和上市时间……

  15. 简单就是美,避免简单的功能写出复杂的代码;

  16. 保持简单的代码远比写出复杂代码要难得多,但这是值得的;

  17. 不编写讨巧的代码;

  18. 避免无谓的条件嵌套和过度封装;

  19. 第一眼看上去就能知道其用处的代码,才是简单而美的代码

  20. 坚持操作方法的原子性,而后使用组合模式实现业务逻辑;

  21. 避免大段代码,要写高内聚、低耦合的代码;

代码的可维护性

软件可维护性是指理解、改正、改动、改进软件的难易程度。通常影响软件可维护性的因素有可理解性、可测试性和可修改性。笔者这里将其分为两大类:编写时可维护性和运行时可维护性。

编写时可维护性

编写时可维护性是指在程序或系统上线后爆出 BUG,开发团队能够及时扑灭这个 BUG 且不会爆出其他 BUG。保持方法的原子性,提高代码内聚,能使某处修改的影响降到最低,这样某处方法出现 BUG,也不太会影响到其他模块的正常运作。编写时可维护性还包括了代码的可测试性。

运行时可维护性

运行时的可维护性是指在系统运行过程中(或无需再次编码发布、只需系统重启一次)修改系统的某项配置并使其生效,且不影响现在正在进行的业务和用户的操作。这要求软件工程师不能把代码写死。例如配置文件、数据库连接字符串、资源文件、日志等。

以下是摘选的可供参考的策略:

  • 不要把代码写死;
  • 预测可能发生的变化
  • 通过提高代码的复用性提高代码的可维护性

代码的可写性

  1. 代码的可写性包括代码的可变更性,代码的可变更性是软件理论的核心。

  2. 代码的可写性是建立在代码的可维护性上的,而代码的可写性与可维护性又都建立在代码的可读性上。如果代码难以阅读,那么 BUG 的修正将变得难以入手,新功能的添加就更是无从入手了。

详情地址:https://blog.csdn.net/zm1_1zm/article/details/51983809

如何提高代码可读性、可维护性相关推荐

  1. 提高代码可读性: 命名技术

    提高代码可读性,首推<代码整洁之道>一书.亦可参考 <Java编程规范>. 提高代码可读性直接有利于提高系统的可维护性.如果那些什么事都不做的抽象有什么益处的话,至少它提高了代 ...

  2. pandas数据处理 代码_使用Pandas方法链接提高代码可读性

    pandas数据处理 代码 We have been talking about using the Pandas pipe function to improve code readability. ...

  3. 如何提高代码的可维护性?

    作为资深软件开发工程师,在编码过程中对代码的健壮性.可维护性.可移植性等关键特性都应有严格的要求.这也是工程师编程素养的体现.那么如何提高代码的可维护性?本篇将从几个方面来谈谈这个问题. 那么如何提高 ...

  4. Python_代码风格_合理分解代码,提高代码可读性

    一.什么是PEP8 PEP 是 Python Enhancement Proposal 的缩写,翻译过来叫"Python 增强规范".正如我们写文章,会有句式.标点.段落格式.开头 ...

  5. 使用 ABAP Open SQL 的 Select AS 别名,提高代码可读性

    SAP ABAP 有些数据库表的字段名称,对于初学者来说不太友好,例如 USR01 表中的打印参数 SPLD, SPLG, SPDB, SPDA 等等. 如果直接应用在 OPEN SQL 里,不熟悉这 ...

  6. python函数增强代码可读性_如何提高代码的可读性 学习笔记

    本文整理自 taowen 师傅在滴滴内部的分享. 1.Why 对一线开发人员来说,每天工作内容大多是在已有项目的基础上继续堆代码.当项目实在堆不动时就需要寻找收益来重构代码.既然我们的大多数时间都花在 ...

  7. 改善代码可读性的5种方法

    在本文中,我会列举五条提高代码可读性的原则.这些原则是我在各种项目.团队和组织的实践中总结出来的经验.我希望大家可以从这篇文章中学到一些东西,从而提高代码的可读性. >>>> ...

  8. 5 个改善代码可读性的方法

    作者 | Dev by RayRay 译者 | 王强 策划 | 李俊辰 本文最初发布于 byrayray.dev 网站,经原作者授权由 InfoQ 中文站翻译并分享. 在本文中,我会列举五条提高代码可 ...

  9. 如何提高代码质量,或者说高质量代码的特征是什么

    高质量代码的三大要素: 可读性.可维护性和可变更性!! 做好代码规范.提高代码质量,能显著增强代码的可读性.可维护性和可变更性.努力提高代码的读写可维护性,是做好代码规范的必要非充分条件.代码规范和架 ...

最新文章

  1. 与时代共振,AI助力工业缺陷检测
  2. 美国发布《评估和强化制造与国防工业基础及供应链弹性》报告
  3. python的具体功能_python基本数据类型及常用功能
  4. Spring学习(八)AOP详解
  5. 告别自注意力,谷歌为Transformer打造新内核Synthesizer
  6. 软件构造-犯错的艺术——健壮性与正确性,异常,防御式编程,debugging与test的思考与总结...
  7. python函数案例名片管理器_python案例:实现一个函数版的名片管理系统
  8. 前沿 | 美国白宫AI峰会闭幕:特朗普政府5大措施加速布局AI生态
  9. LoadRunner场景设置里的各参数解释
  10. CV Code | 本周新出计算机视觉开源代码汇总(含实例分割、行人检测、姿态估计、神经架构搜索、超分辨率等)...
  11. 添加 XmlDocument 元素 和 属性
  12. python pandas dataframe 不显示索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...
  13. 2016CCPC网选 1002:Zhu and 772002(求解矩阵秩)
  14. JAVA IO - 高效读取大文件的后几行
  15. vb.net 教程 目录
  16. JAVA连接SQL server2000解决方法
  17. jsp管理系统页面模板_管理后台原型设计分享- 政务管理系统
  18. 日更100天(53)每天进步一点点
  19. codecademy SQL lesson2
  20. 8位bmp文件获取像素

热门文章

  1. Jmeter 监控Windows服务器资源(端口4444)
  2. 常用的请求报头和响应报头
  3. 布兰特原油飙升至多年高位
  4. 【Python】Mac环境下爬取国内Android应用市场指定应用下载量
  5. python——大数据偷偷告诉你端午节送什么粽子最合适
  6. 如何重定向到另一个网页?
  7. Python字符串替换replace、截取[]、查找find、计数count、分割split
  8. C语言:用指针法输入12个整数,然后按每行4个数输出
  9. 【如何提问】以我最近的一次提问为例
  10. 对查询到的集合数据进行去重