• 避免魔鬼数字:

    • 将数字通过宏定义或者枚举赋予有意义人类可读的字符串名;

0. 可读性

  • 代码可读性,最基本的是变量名、函数名、类名的可读性,其次是语句本身的可读性,最后是代码段逻辑的可读性;

    • 反面案例是,有时候我们为了搞懂一个函数,甚至一个变量的含义,要把整个代码段完整地读下来,效率极低;
    • 可读性,是尽可能低地降低入门和上手成本;
  • 好的变量名,本身即是一种注释,
  • 尽量多的使用关键字参数(如果语法支持的话)的形式,在函数声明处以及调用处即可获悉各个参数的含义;

1. 代码文件的拆分

  • 将所有的源代码都写在一个文件中,最开始还很清楚,及至到后来,功能不断扩展添加,一个程序源代码的文件可以长达数百万行,那么该代码无论是维护,还是功能添加,还是调试和定位,都是一种灾难;

    • 同一个源代码文件的文件拆分;
    • 通过置于不同的包进行拆分;
    • 业务型代码,逻辑性代码,工具性代码拆分;
    • 模块化和层次化:
      • 不同模块之间相互依赖(通信)又相互独立

2. 日志

  • 关键操作,成功或失败一定要给出必要的日志信息,方便在不进行单步调试代码的前提快速定位;

代码可读性、可调式、可维护性相关推荐

  1. 禅与计算机科学程序设计艺术:如何通过映射提高你的代码可读性和可维护性?

    计算机科学是一门需要创造性思维和技能的学科,它不仅需要我们编写能够工作的代码,还需要我们编写易于理解.修改和维护的代码.在编写高质量代码的过程中,我们需要考虑可读性和可维护性等因素. 禅与计算机科学程 ...

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

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

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

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

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

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

  5. 如何提升代码可读性?阿里发布16条设计规约

    脍炙人口的唐诗"两个黄鹂鸣翠柳,一行白鹭上青天",清爽直接,简明易懂.可读性好的代码也是让人陶醉的,那么如何写出可读性的代码? 近期,<阿里巴巴Java开发手册>推出详 ...

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

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

  7. python函数增强代码可读性_写Python必须知道的这几个代码技巧!你会吗?

    Day09 函数的初始 函数:函数是以功能为导向,一个函数封装一个功能.登录,注册,文件的改的操作... 函数减少代码的重复性,增强了代码的可读性: 获取任意一个字符串的元素的个数 s1 = &quo ...

  8. 提升代码可读性的 10 个技巧

    具有较强可读性的代码,能帮助你调试程序,不让自己活得太累. 代码可读性是计算机编程领域中普遍存在的问题.这也是我们成为开发者首先要学习的事情之一.本文会详细介绍在编写强可读性代码时最佳实践中最重要的一 ...

  9. python之代码可读性浅谈

    python基础回顾--代码可读性解析篇 前言 在学习了一门编程语言之后,往往大部分人会急于使用代码实现自己的一些功能进行测试自己的学习情况,这是好的,但是在实际使用中代码却往往不是只给自己看的,或者 ...

最新文章

  1. SQL故障转移集群操作方法
  2. 都有Python了,还要什么编译器!
  3. 通过script标签实现跨域
  4. 一个div 上下两行_用 Python 撸一个 Web 服务器第4章:动态渲染数据
  5. Vulnhub靶机渗透之 AI: Web: 1
  6. oracle中做数据字典,oracle中数据字典是干嘛用的啊
  7. 如何独立实现一个基于知识图谱的问答系统
  8. 第一次去四川的广东人是什么下场?
  9. 广州python平均薪资_11 月全国程序员平均工资出炉,看看的你得薪资跟上平均水平了吗。...
  10. 计算机网络(9)-----TCP可靠传输的实现
  11. 网络适配器输入的IP地址 已经分配给另一个适配器
  12. 关于axios中'$router' of undefined问题
  13. 关于行业的浅析以及未来工作的前景初判
  14. 200 元人民币面世!
  15. 状态空间方程MATLAB语句
  16. Android小提示四
  17. 关于黑莓手机 三键重启的操作方法
  18. 联通屏蔽80端口后利用NAT端口映射穿透解决WEB网站应用发布
  19. 更改MyEclipse/Eclipse的工作空间名字(workspace)
  20. 1076: 三位数求解

热门文章

  1. Android学习系列--App缓存管理
  2. Wamp环境下集成【禅道】管理软件
  3. Memcached windows 下安装与应用
  4. C# BackGroundWorker 的简单使用
  5. 三容水箱液位控制系统_光电液位传感器在饮水机中的应用解决方案
  6. php按条件修改xml,php 修改、增加xml结点属性的实现代码
  7. android 多类型参数,Android的数据绑定-类型参数T具有不兼容的上限:ViewDataBinding和MainActivity...
  8. GRPC编译安装及测试
  9. Python数据结构与算法笔记(一):时间复杂度与空间复杂度
  10. javascript 的module 模块化