完璧を求めないStrict Concurrency Checking対応 by 新妻 広康

iOSDC Japan 2024
レギュラートーク(20分)

完璧を求めないStrict Concurrency Checking対応

cyan_0FBCF9 新妻 広康 cyan_0FBCF9
5

Swift Concurrency が登場して以来、私が所属するプロジェクトはasync/awaitの便利さに惹かれ、積極的に非同期処理を取り入れていました。
しかし、データ競合なんてものは考えずに利用していたため、Strict Concurrency Checking対応を進めようとすると大量の警告文が立ちはだかります。
修正範囲は、データ競合が起こりうる箇所全てです。古いコードも容赦なく警告されます。

これは、全て直すべきでしょうか?

答えは様々だと思いますが、私たちのプロジェクトではサービス案件への影響を考慮して、今すぐ直さなくても良いと判断しました。

本トークでは、データ競合を許容したStrict Concurrency Checking対応について、私が取り組んだ事案をもとにお話しします。
完璧を求めないStrict Concurrency Checking対応として参考になればと思います。

主な内容は以下の通りです。

  • データ競合を完璧に防ぐ必要がないと判断した理由
  • データ競合を許容したStrict Concurrency Checking対応
  • サービス開発に影響を出させないStrict Concurrency Checking対応案