编程中的空格符之争

空格分隔符对所有人都有好处,哪怕他们是加拿大人。(校对注:这里在调侃加拿大人。加拿大人通常不用牛津逗号。)

NetSmell 出品

今天下午发生了一场激烈的争论:

func foo<T: protocol<A,B>>(x: T)
func foo<T: protocol<A, B>>(x: T)

很明显,后者赢了。为什么?因为符合正字法(orthography)的规则(定稿注:来源于希腊语中的正确(Ortho)和书写方式(Graphia),表示通用的社会性的文字表示规范。这里指约定俗成的代码规范。留白是一种美)。

Strunk 写过:「忽略无用的单词」,他可没写「忽略无用的字符」。空格分隔符(space-delimited comma)在两个相关元素之间提供了语义分隔,遵循了数学中的语义约定。

空格分隔符适应自然语言的习惯,眼睛在阅读内容时会把每个语法元素都看做独立的实体。对阅读代码的人来言,它相当于是一个停顿符,让人分辨出这是两个元素(在这里是两个协议)。

如果没有这个停顿,两个协议就不易区分,尤其是协议外面还有尖括号和参数类型。使用空格能写出更易读的代码,因此它赢了。

空格分隔符对所有人都有好处,哪怕他们是加拿大人。(校对注:这里在调侃加拿大人。加拿大人通常不用牛津逗号。)

显示余下内容
相关文章:
  1. FF上市只是贾跃亭回国还债的0.0000000001步
  2. 防沉迷系统的bug,技术如何查漏补缺?
  3. 新Linux内核补丁能为Vortex86硬件提供适当的CPU检测
  4. 开车先看广告成真!蔚来车主爆料导航界面弹广告
  5. 罚站着撸代码——马云是这样惩罚他的程序员的
  6. 蛋壳公寓关联公司多次被执行,总执行标的超1500万
  7. 这一年,被多少百度算法算计了?
  8. 硅谷明星无人车公司冲击IPO:年年亏损上亿美元,资本为何依旧倾心?
  9. 因M1 Mac屏幕问题 苹果面临虚假宣传、欺诈性商业行为集体诉讼
  10. 复盘一下,华为海思可能真的走投无路了
 

发表评论

您的电子邮箱地址不会被公开。