Haskell:什么时候该注释,什么时候不该注释

简介:

大家都知道,写程序时应该让程序易读易懂,而添加注释是让你的程序实现这个目标的好方法。然而,对于一个程序,并不是你添加了足够多的注释,它就能 变得的易懂易读。事实上,第一要务是你的程序要写的干净整洁,这样也就没有添加注释的必要了。编译器是不会检查你的注释的,而注释往往会滞后于代码的更 新,跟实际代码实现不一致。如果你打算要写一段注释,在你真正的动手写之前,请先思考一下下面的这些问题:

这段注释是来标注一个特殊情况吗?那么,你最好别让这个特殊情况存在。例如:

a+b-b  -- 你不能删除这里的(b-b),因为这里的算术操作不按正常的结合性

如果你这里是自定义的数据类型,操作不按正常的结合性,那么,最好你就不应该让它看起来是一个Num实例。

我要再次强调:努力 – 努力 – 再努力 – 去除程序中的特殊行为特征。注释是不能为这些反常行为提供安全保护的。

不用看都明白的注释?例如:

-- 互换一对元素
swap :: (a,b) -> (b,a)

恭喜你,你使用了一个非常好的函数名称,非常好的过程语法,使得这个函数的意图非常的明显,不需要任何注释。所以,删掉这个注释。留着它早晚是个祸害,有一天它会滞后于代码的更新。

注释的内容描述Haskell语言的动作?

let b=a+1   -- 让'a'加1

这里的+和1显然就是程序的执行过程。

你最好注释代码的意图,比如:

let b=a+1   -- 增加循环计数器'a'

但是,重复之前的观点,让程序干净整洁而不需要注释是最好的选择。例如:

let newCounter = oldCounter+1
相关文章
|
监控 安全 Cloud Native
架构设计60-落地原则01-快速失败
架构设计60-落地原则01-快速失败
331 0
架构设计60-落地原则01-快速失败
|
ice
Google Earth Engine ——美国LANDIFRE火灾LANDFIRE FRG (Fire Regime Groups) v1.2.0数据集
Google Earth Engine ——美国LANDIFRE火灾LANDFIRE FRG (Fire Regime Groups) v1.2.0数据集
258 0
Google Earth Engine ——美国LANDIFRE火灾LANDFIRE FRG (Fire Regime Groups) v1.2.0数据集
Why
w=cov(p); >> [e,v]=eig(w) e =     0.1745    0.0464   -0.8247   -0.0598    0.3313   -0.4170    -0.0163   -0.
808 0
|
10天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
9天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
401 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
3天前
|
存储 安全 前端开发
如何将加密和解密函数应用到实际项目中?
如何将加密和解密函数应用到实际项目中?
197 138