作者:Jesse Squires,原文链接,原文日期:2016-01-28
译者:pmst;校对:numbbbbb;定稿:numbbbbb

本周我们迎来了 Xcode 7.3 beta2 —— 这是首次支持 Swift 2.2 语法的 Xcode 正式发布版,凝聚了 Swift 开源社区的力量!我从未想过会看到这样的发布版本说明。更令人难以置信地是能够在 “What’s New” 章节看到那些由社区驱使做出的改动,同时还附上了 GitHub 链接。显然,苹果下一步应该是要将 Xcode 开源出来。😉

Repositories

你是否注意到 GitHub 新增了一个名为 “swift-integration-test” 的仓库?根据改动记录,该仓自首次公布开源消息时就已经存在,不过到目前为止还未完全公开。你可能已经猜到它应该和测试有关。具体来说,“对验证生成的 Swift 快照是否正确进行自动化测试”。

此外,你或许还注意到 GitHub 上有一个名为 swift-ci 的用户。(看起来是官方账号

意犹未尽?干货还有很多!

过去一周里,另外一个名为 “swift-internals” 的仓库悄然出现。网站地址请点击这里。正如欢迎页面所说,网站“摘录了 Swift 编译器和标准库的内部文档,以及 Swift API 设计开发准则”。😦不幸地是,它也仅仅只是包含目前 API 设计准则而已。但是关于 Swift 编译器的文档听起来会对贡献者所有帮助。那么,这是否意味着 Nate Cook 可以将 SwiftDoc.org 关闭了呢?

Commites 和 Pull Requests

Doug Gregor 起草实现了提案 SE-0021,”使用参数标签命名函数”。

Doug Gregor 同时还实现了 SE-0022, “关于方法中的 Objective-C 选择器”。(是的,该提案已被采纳。)从此世间将不存在字符串类型的 Objective-C 选择器!😂你可以通过以下地址查看相关提交历史: dccf3157c0e08789834f8f7407f6

Greg Titus 改善了诊断信息,并且提价了大量的pull requests。 👏

Brian Gesiak 提交了一个 pull request,为 corelibs-xctest 框架实现了异步测试 API 。它将 Objective-C XCTest API 映射到 Swift 中,增加了 expectationWithDescription()waitForExpectationsWithTimeout() 等熟悉的方法。

Nate Cook 为标准库新增了归并排序。描述如下:”该排序算法在兼顾稳定的同时,执行速度也有显著提升(1.5-10 倍 甚至更多)相比较其他传统的排序算法。”😎

William Dillon 新增对 ARMv6 的支持,同时修复了一些 ARMv7 的 bug。

@tinysun212 开始增加对 cygwin 的支持

Brian Croom 提交了一个有关 corelibs-xctests 的 pull request ,讨论了 Darwin XCTest 和 coerlibs-xctest 之间的兼容性问题。

Proposals

Erica Sadun 提议:“消除 Swift 中的内置宏定义(Snake Case Identifier)”,这样就能对 C 残余语法说再见了。(提案地址 ps:404…)

该提案旨在消除 Swift 中的内置宏定义,例如__FILE____FUNCTION__,同时以 # 号为前缀,驼峰写法命名变量替换早前实例,譬如#sourceLocation

提案 SE-0013:“Remove Partial Application of Non-Final Super Methods” 已被拒绝

以下三个提案目前正在审核当中。由于这三者之间具有一定联系,因此它们集中进行审核。

  • SE-0023,API 设计准则
  • SE-0006,标准库中应用 API 准则
  • SE-0005,有关 Objective-C API 更好地移植到 Swift

Mailing lists

Nicole Jacque 指出了新的快照命名格式。从现在起,开发版本快照将以 swift-DEVELOPMENT-SANPSHOT 开头,与发布版快照加以区分。

Dmitri Gribenko 研究并大大减少StdlibUnittest 的构建时间。StdlibUnittest 作为一个内部库,用于为 stdlib,runtime 部分以及编译器写测试。

但是还有个问题:目前,StdlibUnittest 占据太多的时间去进行构建项目了。[…]
测量时间表明,该组合模块的构建时间是大于各自构建时间的总和,甚至当优化开启时尤为明显。我们可以推测,优化器并未根据模块大小做出较好的调整。

最后 - 倘若你感觉 Swift 的变化实在太快或者你想尝试一些新的东西,弱弱地推荐 TrumpScript 😂。让我们再创造一门伟大的语言吧。™

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

文章目录
  1. 1. Repositories
  2. 2. Commites 和 Pull Requests
  3. 3. Proposals
  4. 4. Mailing lists