アップル社はSwiftに関する3つの提案を受け入れた.

1791 ワード

原文リンク作成者:Erica Sadun原文日付:2016-03-03
今日、アップル社は3つの内部推進の提案を受け入れました(一部の提案内容は少し修正されました):
  • SE-005 Objective-CのAPIをよりよくSwift
  • に変換
  • SE-006 APIガイドを標準ライブラリに追加
  • SE-0023 API設計ガイドライン
  • Swiftコアチームが開発した、この3つの提案は、Swift言語の特徴を徹底的に確定し、開発者がどのようにSwiftを使用して前進し続けるかを決定した.
    APIデザインガイド(SE-0023)が最も注目され、最高のデザインガイドの典型とも言えるモデルであり、アップル社の一貫したスタイルでもある.中にはほとんどの内容が分かりやすくて、多くのアドバイスがとても役に立ちますが、一部の内容は少し個人的な見方があります.開発者として、できるだけ歓迎したり批判したりすることができます.
    自動変換の項目(SE-005)はAPI名の前のNS接頭辞を削除する作業を放棄した(一時的に放棄し、修正後の提案は単独の提案として提出される).APIガイドを用いてCocoaの特色をSwiftの世界に持ち込む.コメントを読むと、これらのAPIがどのように変換されるかがわかります.Swift 2からSwift 3までのプロジェクトも含まれています.
    提案の顕著な部分はFoundation APIの「NS」接頭辞を取り除くことであり,今回の改名はいくつかの理由を考慮して,最もよく言及される原因はSwiftの多くのFoundationの参照意味属性がSwift標準ライブラリの値意味と矛盾して衝突することである.「NS」接頭辞の提案はアップルの公式には受け入れられておらず、修正後の提案は単独の提案として再提出され、フィードバック統計に計上される.
    最後に、標準ライブラリ更新(SE-006)は、Swiftがどのように見えるか、標準ライブラリの方法が最新のAPIガイドとどのように調和しているかを確立した.
    提案されたこれらの変更は、Swiftコードの大規模な崩壊をもたらし、Swift 2のコードをSwift 3コードにスムーズに移行する移行ツールが必要です.提案された異なるAPIは、移行の主な情報源になります.また、言語が許可されている場合、ライブラリには古い名前が残されていると同時に、renameと破棄記号で表記され、コンパイラが正しいエラー情報を生成し、Fix-itをポップアップするのを助ける.
    提案を受けたとき、アップルは2つの重要な変更に言及しました.
    提案のほとんどの修正は、Swift API設計ガイド(SE-0023)に関するものであり、特に:
  • 標準ライブラリで最初のパラメータを使用するラベル
  • 小書き列挙の名称.some(x)と.none

  • 最初のパラメータのラベルは、Swift 1からSwift 2に進化するとObjective-C言語スタイルのようになり、Swift 3になるとSwift言語スタイルのようになります.現在は純Cと純Objective-Cの間にあり,今回の2回に比べてバランスが取れることを望んでいる.
    例:
    -  func advancedBy(n: Distance, limit: Self) -> Self
    +  func advanced(by n: Distance, limit: Self) -> Self
    
    -  func distanceTo(end: Self) -> Distance
    +  func distance(to end: Self) -> Distance
    

    列挙は他の静的メンバーと同様に、ネーミングルールは小文字で始まり、アルパカネーミング法を使用します.
    より多くのリストは、更新された提案で見つけることができます.
    本文はSwitGG翻訳グループによって翻訳され、著者の翻訳許可を得た.