【日常积累 - 04】《编写可读代码的艺术》- 写出优雅的代码

​​最近看了《编写可读代码的艺术》收获颇丰,刚好这本书的读书笔记适合放在这里。程序员的一大乐趣就是可以自己决定创作出的东西,而代码的可读性、代码是否优雅,都决定了你作品的好坏,想要好的作品吗?那就想办法写出更优美的代码吧。

目录

前言

第1章 代码应该易于理解

第一部分 表面层次的改进

第2章 把信息装到名字里

第3章 不会误解的名字

第4章 审美

第5章 该写什么样的注释

第6章 写出言简意赅的注释

第二部分 简化循环和逻辑

第7章 把控制流变得易读

第8章 拆分超长的表达式

第9章 变量与可读性

第三部分 重新组织代码

第10章 抽取不相关的子问题

第11章 一次只做一件事

第12章 把想法变成代码

第13章 少写代码

第四部分 精选话题

第14章 测试与可读性

第15章 设计并改进“分钟/小时计数器”


前言

程序员之间的互相尊重和对工作的尊重都体现在代码中。

代码是写给人读的,应该便于理解,优质的代码可以让协作变得高效。

学习编写好代码的习惯,并应用于实践中。

第1章 代码应该易于理解

  • 代码的写法应该使别人理解它所需的时间最小化。
  • 要多想一想当前在写的代码别人是否容易理解它。

第一部分 表面层次的改进

  • 代码风格
  • 命名
  • 排版
  • 注释

第2章 把信息装到名字里

  • 选择专业的词。
  • 避免泛泛的名字。
  • 用具体的名字代替抽象的名字。
  • 使用前缀或者后缀附加更多信息。
    • 增加单位。如time_cost_day, time_cost_ms
    • 当前数据格式。如i_days,f_days。
    • 未处理的变量前面加raw_等
  • 控制名字长度的依据
    • 如果变量作用域小,则可以使用较短的名字。如果变量作用域较大,则尽量使用信息完备的名字。
    • 采用缩写的原则是:团队新成员能否理解这个命名
  • 利用名字的格式来表达含义
    • 可参考Google C++代码风格
    • 类名、函数名首单词大写
    • 宏全大写
    • 变量名全小写,用下划线隔开
    • 成员变量最后可以加下划线等,如CountChars_
  • 如果一个flag要用于多个模式选择,那么就拆分flag,给他们不同的命名。

第3章 不会误解的名字

  • 多问自己几遍,这个名字会被别人解读为其他含义吗?
  • 命名尽量具体
  • 用min、max表示包含的极限
  • 用first和last表示闭区间(stop表示右开,last是右闭)
  • 用begin和end表示左闭右开区间
  • 给布尔值命名
    • bool read_password = true,不能确定是需要读密码还是已经读取了密码
    • bool need_password = true会更好。
    • 通常加上is、has、can、should这样的词可以让布尔值更加明确。
  • 命名需要与使用者的期望相匹配
    • 如GetMean(),可能是直接获取已经计算好的mean,也可能是循环计算mean。改成ComputeMean会更好。
    • 如调用size()可以改为CountSize()。

第4章 审美

  • 保持自己风格一致
  • 让相似的代码看上去相似
  • 把相关的代码行分组,形成代码块
  • 列对齐:整洁易读,容易发现错误。
  • 选择一个有意义的顺序,始终一致的使用它。如:
    • 从最重要,到最不重要排序。
    • 按字母顺序排序
  • 用空行把代码分成逻辑上的段落
    • 相似的想法放在一起并且与其他想法分开
    • 提供可见的注释脚印
    • 便于段落间导航
  • 保持风格一致性(一致的风格比正确的风格更重要)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雁宇up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值