转载

Swift 一周简讯 #7

作者:Jesse Squires, 原文链接 ,原文日期:2016/01/28

译者: pmst ;校对: numbbbbb ;定稿: numbbbbb

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

Repositories

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

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

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

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

Commites 和 Pull Requests

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

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

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

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

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

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 :joy:。让我们再创造一门伟大的语言吧。™

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

原文  http://swift.gg/2016/02/29/open-source-swift-weekly-7/
正文到此结束
Loading...