伟大的空格分割符之争

前端之家收集整理的这篇文章主要介绍了伟大的空格分割符之争前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

作者:Erica Sadun,原文链接,原文日期:2016-05-02
译者:Crystal Sun;校对:numbbbbb;定稿:Cee

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

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

对比

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

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

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

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

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

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

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg

原文链接:https://www.f2er.com/swift/323367.html

猜你在找的Swift相关文章