※ 可读性,Readable

指一份代码干净清爽,容易读懂。简单地讲,能让别人1秒读懂的,就别让人花2秒!

多加点注释就好了吗? 错错错!代码如果写得好,一句注释都可以没有。因为代码即“文章”,它自身就可以表示意思和逻辑。

- 怎么样增加可读性?

  1.  合理的架构设计 
  2.  名字起得好
  3.  多留点空白,不要挤在一起
  4.  一行代码不要嵌套多层函数
  5.  不是代码越简洁越好,而是越容易懂越好!代码短了,却有可能更难懂!

※ 可重用性,Reusable

指一份代码可以直接拿到别的项目里、不加修改(或少量修改),即可重复使用。

不是有一个段子吗,高手都是 Ctrl + C 和 Ctrl + V ,为什么?

为什么人家的代码可以直接拷贝粘贴呢?因为人家代码封装的好、可以直接重用啊!

比如,在〖Java学习指南〗系列课程里,提供了上百个以 Af 打头的类,它们都是可以重用的。可以直接放在你的项目里使用。

※ 可扩展性, Extensible

指的是一份设计,不但可以满足现在的需求,更可以适应将来的变化。

程序员老是抱怨:需求别再改啦,代码又得重构了!

为什么呢?因为你的设计眼光有点短,不能适应可能的变化,不可扩展。

举个例子,在网络课堂上,有的课程是章节式的,有的课程是一字排开、不非章的。

那么,章节式编排就是可扩展的。无章编排则是不可扩展的。

比如,将来要在课程里插入新的一节:

- 对于连续编排的课程,如果要在里面插入一节,则要修改后面几十节的标题

- 对于章节编排的课程,影响最多一章,对后面的章节没有影响。这便是可扩展的设计。

怎样理解优秀代码的三个标准:可读性,可重用性,可扩展性?相关推荐

  1. FPGA之道(71)提高设计的综合性能(三)提高设计的重用性与易改性

    文章目录 前言 提高设计的重用性 构建自己的IP库 提高设计的易改性 常量参数化模块设计 结构参数化模块设计 总线参数化 规模参数化 功能参数化 参数化设计的参数管理与组织 参数相关性 可传递的模块参 ...

  2. Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享

    文章目录 前言 1. Rocksdb线程池概览 2. Rocksdb 线程池实现 2.1 基本数据结构 2.2 线程池创建 2.3 线程池 调度线程执行 2.4 线程池销毁线程 2.5 线程池优先级调 ...

  3. python采用强制缩进的方式是代码具有极佳的可读性_python入门

    python具有相当多的又优势:1. 简单:Python奉行简洁主义,易于读写.:2. 免费:Python是开源软件.:3. 兼容性:Python兼容众多平台.:4. 面向对象:Python既支持面向 ...

  4. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(三)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(三) 目录 3. 参数微调案例/Parameter Tunin ...

  5. 深入理解计算机系统_第三章_程序的机器级表示

    深入,并且广泛-沉默犀牛 文章目录 文章导读 历史观点 程序编码 机器级代码 代码示例 关于格式的注解 数据格式 访问信息 操作数指示符 数据传送指令 数据传送示例 压入和弹出栈数据 算术和逻辑操作 ...

  6. Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享

    文章目录 前言 数据结构选型 打点代码设计 耗时打点 请求计数打点 打点总结 前言 一个完善的分布式系统一定是需要完善的打点统计,不论是对系统内核 还是 对系统使用者都是十分必要的.系统的客户需要直观 ...

  7. 分享让人折服的优秀代码基因

    1 背景 近来参与一个较大团队的项目实施,项目的金额两千万,人数近百.但是,项目实施后,暴露出以下几个问题: (1)质量不佳,团队成员水平参差不齐,软件外部质量.内部质量一致性差: (2)需求不确定, ...

  8. DPDK内存篇(三): 标准大页、NUMA、DMA、IOMMU、IOVA、内存池

    作者简介:Anatoly Burakov,英特尔软件工程师,目前在维护DPDK中的VFIO和内存子系统. 目录 引言 标准大页 将内存固定到NUMA节点 硬件.物理地址和直接内存存取(DMA) IOM ...

  9. 从代码层面分析STM32 标准库和HAL库的差异

      如果用过STM32系列单片机的朋友会比较清楚,一般在开发STM32单片机程序的时候首先要考虑选用那种方式来写代码.常见的有三种方式,寄存器版.标准库版.HAL库版.现在选用后两种的比较多,选择寄存 ...

最新文章

  1. 北师大版图形的旋转二教案_北师大2011课标版(闫金铎主编)初中物理八年级下册三、重力公开课优质课课件教案视频...
  2. python函数使用易错点_Python易错例题
  3. 公众号知道我浏览他吗_微信公众平台文章能看到访客吗?
  4. 2.4. myisamchk — MyISAM Table-Maintenance Utility
  5. 【转】浏览器缓存机制
  6. linux java 1.6 下载地址_linux 安装配置java环境 jdk1.6 jdk-6u45-linux-x64.bin
  7. 怎么改路由器的密码?
  8. python open打开文件的方式
  9. 雅可比迭代法和高斯赛德尔迭代法
  10. C语言算三角形外心坐标,三角形外心坐标公式(含C语言代码)
  11. 【OpenCV4】fatal error: opencv2/core.hpp: No such file or directory 解决方法
  12. 优酷KUX1080转码工具如何将KUX视频转换成MP4格式
  13. 海康威视流媒体服务器配置心得
  14. 正态性检验方法——K-S检验和S-W检验
  15. 隐形缝针法_裤腰大了怎么改小的隐形针法
  16. Python练手项目:计算机自动还原魔方(5)最后一步
  17. Linux运维工程师前景
  18. java.io.IOException: No such file or directory之linux权限问题
  19. C3P0的三种配置方式以及基本配置项详解
  20. finalcut剪切快捷键_Final Cut Pro 中的键盘快捷键

热门文章

  1. 软件输入中文出现乱码
  2. docker GraphDriver
  3. 蒂姆·库克:虚假新闻正在侵蚀人们的大脑
  4. H3C交换机和Linux服务器网卡绑定模式(bond)对接经典配置
  5. 非叫“秩”不可,有秩才有解
  6. 计算机的指令系统、控制器和运算器
  7. 为什么计算机专业要学概率统计,计算机类专业概率统计的教学
  8. 需求为纲 产品为王 极米担当行业领头羊的秘密
  9. 不朽凡人 第一百六十二章 哪里来的外门弟子
  10. 2013年工作项目流水总结