@@ -93,14 +93,14 @@ article pre {
9393
9494 注意: 在像 `popFirst` 这样的罕见情况下,摘要由多个用分号分隔的句子片段组成。
9595
96- * ** 描述下标* 访问* 什么** :
96+ * ** 描述下标* 访问* 什么** :
9797
9898 ~~~ swift
9999 /// **访问**第 `index` 个元素。
100100 subscript (index : Int ) -> Element { get set }
101101 ~~~
102102
103- * ** 描述初始化器* 创建* 什么** :
103+ * ** 描述初始化器* 创建* 什么** :
104104
105105 ~~~ swift
106106 /// **创建**一个包含 `n` 个重复 `x` 的实例。
@@ -146,7 +146,7 @@ article pre {
146146
147147 * ** 使用公认的[符号文档标记]({{SymbolDoc}}SW1)元素** 在适当时添加摘要之外的信息。
148148
149- * ** 了解并使用带有[符号命令语法]({{SymbolDoc}}SW13)的公认项目符号**。 像 Xcode 这样的流行开发工具对以下关键字开头的项目符号给予特殊处理:
149+ * ** 了解并使用带有[符号命令语法]({{SymbolDoc}}SW13)的公认项目符号**。 像 Xcode 这样的流行开发工具对以下关键字开头的项目符号给予特殊处理:
150150
151151 | [Attention]({{ref}}Attention.html ) | [Author]({{ref}}Author.html ) | [Authors]({{ref}}Authors.html ) | [Bug]({{ref}}Bug.html ) |
152152 | [Complexity]({{ref}}Complexity.html ) | [Copyright]({{ref}}Copyright.html ) | [Date]({{ref}}Date.html ) | [Experiment]({{ref}}Experiment.html ) |
@@ -181,7 +181,7 @@ article pre {
181181 如果我们从方法签名中省略 `at` 这个词,可能会让读者误以为该方法是搜索并移除一个等于 `x` 的元素,而不是使用 `x` 来指示要移除的元素的位置。
182182
183183 ~~~ swift
184- employees.remove (x) // 不清楚: 我们是在移除 x 吗?
184+ employees.remove (x) // 不清楚: 我们是在移除 x 吗?
185185 ~~~
186186 {: .bad }
187187
@@ -201,7 +201,7 @@ article pre {
201201 ~~~
202202 {: .bad }
203203
204- 在这种情况下,`Element ` 这个词在调用点没有添加任何重要信息。 这个 API 可以改进为:
204+ 在这种情况下,`Element ` 这个词在调用点没有添加任何重要信息。 这个 API 可以改进为:
205205
206206 ~~~ swift
207207 public mutating func remove (_ member : Element ) -> Element ?
@@ -242,7 +242,7 @@ article pre {
242242 ~~~
243243 {: .good }
244244
245- 如果关联类型与其协议约束的关系如此紧密以至于协议名称* 就是* 其角色,可以通过在协议名称后附加 `Protocol` 来避免冲突:
245+ 如果关联类型与其协议约束的关系如此紧密以至于协议名称* 就是* 其角色,可以通过在协议名称后附加 `Protocol` 来避免冲突:
246246
247247 ~~~ swift
248248 protocol Sequence {
@@ -266,7 +266,7 @@ article pre {
266266 ~~~
267267 {: .bad }
268268
269- 为了恢复清晰度,** 在每个弱类型参数前加上描述其角色的名词** :
269+ 为了恢复清晰度,** 在每个弱类型参数前加上描述其角色的名词** :
270270
271271 ~~~ swift
272272 func add** Observer** (_ observer: NSObject, for ** KeyPath** path: String )
@@ -296,7 +296,7 @@ article pre {
296296 ~~~
297297 {: .bad }
298298
299- 当这些参数不是调用含义的核心时,在第一个或第二个参数之后,流畅性可以适当降低:
299+ 当这些参数不是调用含义的核心时,在第一个或第二个参数之后,流畅性可以适当降低:
300300
301301 ~~~ swift
302302 AudioUnit.instantiate (
@@ -315,7 +315,7 @@ article pre {
315315
316316 {{expand}}
317317 {{detail}}
318- 例如,这些调用的第一个参数不应该作为基本名称短语的一部分:
318+ 例如,这些调用的第一个参数不应该作为基本名称短语的一部分:
319319
320320 ~~~ swift
321321 let foreground = ** Color** (red : 32 , green : 64 , blue : 128 )
@@ -362,7 +362,7 @@ article pre {
362362 {{expand}}
363363 {{detail}}
364364
365- * 优先使用动词的过去[分词](https :// en.wikipedia.org/wiki/Participle)(通常添加"ed")来命名不可变变体:
365+ * 优先使用动词的过去[分词](https :// en.wikipedia.org/wiki/Participle)(通常添加"ed")来命名不可变变体:
366366
367367 ~~~ swift
368368 /// 原地反转 `self`。
@@ -444,7 +444,7 @@ article pre {
444444 {{detail}}
445445 将连续数据结构命名为 `Array ` 比使用简化的术语如 `List` 要好,即使初学者可能更容易理解 `List` 的含义。 数组在现代计算中是基础的,所以每个程序员都知道——或者很快就会学到——什么是数组。 使用大多数程序员熟悉的术语,他们的网络搜索和提问就会得到回报。
446446
447- 在特定的编程* 领域* 中,比如数学,广泛使用的先例术语如 `sin (x)` 比解释性短语如 `verticalPositionOnUnitCircleAtOriginOfEndOfRadiusWithAngle (x)` 更可取。 注意在这种情况下,先例优先于避免缩写的指导原则: 虽然完整的词是 `sine`,但 “sin (* x* )” 在程序员中已使用了几十年,在数学家中已使用了几个世纪。
447+ 在特定的编程* 领域* 中,比如数学,广泛使用的先例术语如 `sin (x)` 比解释性短语如 `verticalPositionOnUnitCircleAtOriginOfEndOfRadiusWithAngle (x)` 更可取。 注意在这种情况下,先例优先于避免缩写的指导原则: 虽然完整的词是 `sine`,但 “sin (* x* )” 在程序员中已使用了几十年,在数学家中已使用了几个世纪。
448448 {{enddetail}}
449449
450450## 约定
@@ -454,25 +454,25 @@ article pre {
454454* ** 给任何非 O (1 ) 的计算属性的复杂度写文档注释**。 人们经常假设属性访问不涉及重要的计算,因为他们以存储属性为心智模型。 当这个假设可能被违反时,一定要提醒他们。
455455 {: #document - computed- property- complexity}
456456
457- * ** 优先使用方法和属性而不是自由函数**。 自由函数仅在特殊情况下使用:
457+ * ** 优先使用方法和属性而不是自由函数**。 自由函数仅在特殊情况下使用:
458458 {: #prefer - method- and- properties- to- functions}
459459
460460 {{expand}}
461461 {{detail}}
462462
463- 1 . 当没有明显的 `self ` 时:
463+ 1 . 当没有明显的 `self ` 时:
464464
465465 ~~~
466466 min (x, y, z)
467467 ~~~
468468
469- 2 . 当函数是不受约束的泛型时:
469+ 2 . 当函数是不受约束的泛型时:
470470
471471 ~~~
472472 print (x)
473473 ~~~
474474
475- 3 . 当函数语法是既定领域表示法的一部分时:
475+ 3 . 当函数语法是既定领域表示法的一部分时:
476476
477477 ~~~
478478 sin (x)
@@ -486,7 +486,7 @@ article pre {
486486 {{expand}}
487487 {{detail}}
488488
489- 在美式英语中通常全部大写出现的[首字母缩写词和缩略语](https :// en.wikipedia.org/wiki/Acronym)应该根据大小写约定统一使用大写或小写:
489+ 在美式英语中通常全部大写出现的[首字母缩写词和缩略语](https :// en.wikipedia.org/wiki/Acronym)应该根据大小写约定统一使用大写或小写:
490490
491491 ~~~ swift
492492 var ** utf8** Bytes: [** UTF8 ** .CodeUnit ]
@@ -507,7 +507,7 @@ article pre {
507507
508508 {{expand}}
509509 {{detail}}
510- 例如,以下做法是被鼓励的,因为这些方法本质上做相同的事情:
510+ 例如,以下做法是被鼓励的,因为这些方法本质上做相同的事情:
511511
512512 ~~~ swift
513513 extension Shape {
@@ -526,7 +526,7 @@ article pre {
526526 ~~~
527527 {: .good }
528528
529- 而且由于几何类型和集合是不同的领域,在同一个程序中这样做也是可以的:
529+ 而且由于几何类型和集合是不同的领域,在同一个程序中这样做也是可以的:
530530
531531 ~~~ swift
532532 extension Collection where Element : Equatable {
@@ -537,7 +537,7 @@ article pre {
537537 ~~~
538538 {: .good }
539539
540- 然而,这些 `index` 方法有不同的语义,应该被命名为不同的名称:
540+ 然而,这些 `index` 方法有不同的语义,应该被命名为不同的名称:
541541
542542 ~~~ swift
543543 extension Database {
@@ -579,7 +579,7 @@ func move(from **start**: Point, to **end**: Point)
579579
580580 {{expand}}
581581 {{detail}}
582- 选择这些名称使文档易于阅读。 例如,这些名称使文档读起来很自然:
582+ 选择这些名称使文档易于阅读。 例如,这些名称使文档读起来很自然:
583583
584584 ~~~ swift
585585 /// 返回一个包含 `self` 中满足 `**predicate**` 条件的元素的 `Array`。
@@ -590,7 +590,7 @@ func move(from **start**: Point, to **end**: Point)
590590 ~~~
591591 {: .good }
592592
593- 而这些则使文档读起来很尴尬且不符合语法:
593+ 而这些则使文档读起来很尴尬且不符合语法:
594594
595595 ~~~ swift
596596 /// 返回包含 `self` 中满足 `**includedInResult**` 的元素的 `Array`。
@@ -608,15 +608,15 @@ func move(from **start**: Point, to **end**: Point)
608608
609609 {{expand}}
610610 {{detail}}
611- 默认参数通过隐藏不相关的信息来提高可读性。 例如:
611+ 默认参数通过隐藏不相关的信息来提高可读性。 例如:
612612
613613 ~~~ swift
614614 let order = lastName.compare (
615615 royalFamilyName** , options : [], range : nil , locale : nil ** )
616616 ~~~
617617 {: .bad }
618618
619- 可以变得更简单:
619+ 可以变得更简单:
620620
621621 ~~~ swift
622622 let order = lastName.** compare (royalFamilyName)**
@@ -636,7 +636,7 @@ func move(from **start**: Point, to **end**: Point)
636636 ~~~
637637 {: .good }
638638
639- 上面的方法可能不简单,但比下面的方式要简单得多:
639+ 上面的方法可能不简单,但比下面的方式要简单得多:
640640
641641 ~~~ swift
642642 extension String {
@@ -799,7 +799,7 @@ x.move(**from:** x, **to:** y)
799799
800800 {{expand}}
801801 {{detail}}
802- 例如,考虑这个重载集:
802+ 例如,考虑这个重载集:
803803
804804 ~~~ swift
805805 struct Array <Element > {
0 commit comments