代码的高质量是软件的灵魂,代码  =  数据结构  + 算法,  而高质量的代码  =  优良的变量、函数命名  +  优良的代码结构、代码层次结构   +  数据结构  + 算法。

时时刻刻想这上面的四点,你的代码就会渐渐的上新台阶,老板不给你加工资还真的不行。

写程序不仅要考虑编译器能执行,更应考虑代码是否有良好的可读性。可读性不仅仅是为了方便别人看你的代码,就算是作者本人,在编写新功能的时候,其实也会反复看自己之前的代码。为了让开发速度快,而放弃让代码保持高品质,其实只会反而拖慢开发速度。编写当前功能的时候,这么做当然是会提高开发速度,但从全盘角度去看,当前的低品质代码,会成为将来新功能的绊脚石。所以,提高代码开发速度的办法是提高代码质量,花额外的时间重构美化自己的代码,其实并不“额外”,它是保障代码不会随着新功能不断增加,而慢慢腐坏最有效的方法。

“光把代码写好可不够,必须时时保持代码整洁。我们都见过代码随时间流逝而腐坏。我们应当更积极地阻止腐坏的发生。每次代码签入时,代码都比签出时干净。”

“我们都曾经瞟一眼自己亲手造成的混乱,决定弃之而不顾,走向新一天。我们都曾经看到自己的烂程序居然能运行,然后断言能运行的烂程序总比什么都没有强。我们都曾经说过有朝一日再回头清理。当然,在那些日子里,我们都没听过勒布朗法则:稍后等于永不。”

所以我们要保证只写入高质量的代码,永不对自己说“回头再整理他们”。xp极限编程强调编码过程有一个环节是“重构”。

我们都知道代码灵活的重要性,都知道糟糕代码会带来的维护恶果,在面对管理层的时间要求时,要求我们牺牲品质保证进度时,我们一定要坚持地说“不”!管理层不了解糟糕代码的隐患,会觉得重构代码是在浪费时间,但我们要坚持立场。就像病人对医生说“医生,你不要去洗手了,直接动手术吧,我没有时间”,医生不可能听病人的意见,不去洗手一样。医生明白不消毒的后果,不可能听病人的意见。同样,我们明白牺牲代码品质的危害,我们要坚守立场。

如果背负时间的压力,我们不应该以“牺牲代码品质”来提高开发速度,牺牲代码品质事实上只会拖累了自己以后的开发速度,我们应该想办法“让自己做得更快”。什么办法?保持代码的高质量。这是做得快的唯一方法

如何保证代码的高质量?相关推荐

  1. 什么才是好代码、高质量代码?

    虽然刚毕业的同学对于代码质量都很用心,但最终呈现出来的质量仍然没能达到"十分优秀"的程度. 究其原因,主要是不了解好的代码"应该"是什么样的. 什么是好代码 写 ...

  2. 读书笔记:《代码大全第2版》 04.创建高质量的代码之高质量的方法

    文章目录 高质量的方法 1.创建方法的理由 2.内聚性(cohesion) 3.方法命名 4.方法参数 5.总结 高质量的方法 1.创建方法的理由 降低复杂度 引入中间的,易懂的抽象 避免代码的重复 ...

  3. 保证充足的高质量睡眠

    如何睡的充足呢?可以选择一个凉快.光线较暗的房间,如果觉得难以入睡,睡前放松一下,看看书或看电视,使自己平静下来,也可以喝杯脱脂牛奶或吃一根香蕉或其他含褪黒激素(燕麦.甜玉米.米饭.大麦.番茄)或血清 ...

  4. 消除代码中的坏味道,编写高质量代码

    消除代码中的坏味道,编写高质量代码 Intro 想要写出较好的代码,保证代码的高质量需要时刻警惕代码中的坏味道,今天分享一下,我觉得平时写的代码中可能会出现的坏味道代码的一些示例 常见的坏味道代码 B ...

  5. ​如何编写高质量的C#代码(一)

    如何编写高质量的C#代码(一) 从"整洁代码"谈起 一千个读者,就有一千个哈姆雷特,代码质量也同样如此. 想必每一个对于代码有追求的开发者,对于"高质量"这个词 ...

  6. 如何用 GitHub Actions 写出高质量的 Python代码?

    这篇博文将与你分享如何在Python项目中搭建起GitHub Actions工作流,以确保你写出的代码既优雅,又符合所有最佳实践,且已经过完备测试. 作者 | Wojciech Krzywiec 译者 ...

  7. 破开C暗夜的第一道光(2)——高质量代码风格

    创造高质量的个人代码风格 一.文件结构 二.程序的版式 · 空行 · 代码行 · 代码行内的空格 · 对齐 · 长行拆分 · 修饰符的位置 · 注释 三.命名规则 · 命名规则 · 命名惯例 四.表达 ...

  8. 如何编写高质量的C#代码(一)

    从"整洁代码"谈起 一千个读者,就有一千个哈姆雷特,代码质量也同样如此. 想必每一个对于代码有追求的开发者,对于"高质量"这个词,或多或少都有自己的一丝理解.当 ...

  9. 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)

    读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...

最新文章

  1. 算法---删除排序链表中的重复元素 II
  2. php 删除一周前,linux下删除7天前日志的代码(php+shell)
  3. 我国网民规模已达7.51亿 但网络安全值得警惕
  4. Redis集群功能概述
  5. 4kyu Domino Tiling - 3 x N Board
  6. 在ppt中插入excel 或者word 文档
  7. html点击波,Material Design风格按钮点击波动画效果
  8. 如何使用Node.js,Express和MongoDB设置GraphQL服务器
  9. 基于python实现resnet_【深度学习】基于Pytorch的ResNet实现
  10. 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数(Java)
  11. 蓝桥杯 ADV-75 算法提高 简单计算器
  12. 对String值不可变的理解以及String类型的引用传递问题
  13. Android GIS开发系列-- 入门季(15) 网络图层加载
  14. Eclipse 2021-6安装教程及其安装包
  15. 【转载】CC控制服务的设计和侦测方法综述
  16. 求你了别秀了——Reversion Count
  17. 【python】获取当前时间(年月日时分秒)
  18. c++高级编程学习笔记5
  19. 全国DAMA-CDGA/CDGP数据治理认证考试难不难?
  20. 让你眼前一亮的算法优化技巧总结!!!

热门文章

  1. C#进阶之WebAPI(二)
  2. ROS 常用命令字典
  3. 数据结构 - 树(二叉树的 前序、中序、后序 遍历)
  4. python剪切文件如何恢复_用python实现的可以拷贝或剪切一个文件列表中的所有文件...
  5. 【POJ - 1273】Drainage Ditches(网络流,最大流,模板)
  6. 【CodeForces - 1020C】Elections (枚举投票数,贪心)
  7. 人脑意识转入量子计算机,人脑产生意识:可能是因为量子纠缠
  8. info testing mysql_SQLMASQLMAP中文说明(linux版本)
  9. 小学教师计算机国培培训总结,小学教师国培培训心得体会
  10. 买iphone不买android,为何宁可用4年前的苹果6s,也不买两三千的安卓呢?理由很真实...