LoginSignup
13
12

More than 5 years have passed since last update.

swift-evolutionでAcceptedされた提案も実装は変わると思っておいた方がいい

Last updated at Posted at 2016-05-18

クラスメソッド社のブログSwift 3.0の変更点まとめを見てて気づいたんですが、SE-0005で提示されている内容詳細が微妙に変化していた。

SE-0005はざっくり言うと、「Objective-C時代のメソッドをSwiftでは変えようぜ」ってな話だけど、そのSwiftでの新しい実装提案の詳細が変わっていた。

言いたいことを図にすると次の通り

Swift2時代のこれあるじゃん
↓
Swift3.0でこうしたい(Acceptedされて色々なブログが紹介したりした)
↓
Swift3.0ではやっぱりこうしようぜ(Implementationになった)

わかりますかね。

具体的にはSE-0005のHistoryを見ると提案が変更されたコミットがそれに当たる。

これを先ほどの流れに合わせると次の通り

func moveToPoint(_: CGPoint) // Swift2時代(これおそらく _ point:って言いたいんだろうな)
↓
func moveTo(_: CGPoint)      // Accepted(これもおそらく _ point:って言いたいんだろうな)
↓
func move(to point: CGPoint) // そこからtoが外部引数名になった

Qiitaにある過去の記事、Swiftに今後追加される言語仕様について調べてみたを見るとmoveToの段階でAcceptedされていたのでしょう。

ちなみにmoveTomove(to になったことは大きな違いがありますね。これ比較的良いなというか前置詞のToで終わるのがすごく違和感があって、他のメソッドも直されていて学びがあると思ったので別の記事に書くつもりです。

まとめ

  • Acceptedされてからも提案は変わっている
  • 提案のステータスはAcceptedになってもImplementedされるときは提案自体修正される
  • Acceptedされても詳細は変えられるのであくまでAcceptedのものはそれというスタンスで見ないといけない

つまり「Swift3.0からこうなるから今からそれに従おう」という気持ちはありますが提案の本質がAcceptedされたのであって詳細は変わる、という事を心がけていたいですね。

参考

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12