開発中に#warningが重要な理由
Swiftの#warningディレクティブは、カスタムメッセージ付きのコンパイラ警告を生成します。コメントと違い、Issue Navigatorやビルド出力に表示されるため、見逃すことがありません。出荷前に必ず対処しなければならないことのハードリマインダーとして使っています。
毎日使う2つのスニペット
この目的で2つのXcodeコードスニペットを設定しています。
“nyi” – Not Yet Implemented:
#warning("Not yet implemented!")プロトタイプ作成中に関数をスタブアウトしたりコードパスをスキップしたりするときに、nyiと入力してEnterを押します。コンパイルは正常に通りますが、警告が表示されるので必ず戻って作業を完了することができます。
“dw” – Developer Warning:
#warning("<#message#>")こちらはプレースホルダートークンを使用しているので、dwと入力してEnterを押すと、カーソルがメッセージ内に移動してカスタムメモを入力できます。#warning("Handle error case for offline mode")や#warning("Remove before release")のような用途に使います。
Xcodeスニペットの作成方法
セットアップにはそれぞれ約30秒かかります:
任意のSwiftファイルでスニペットにしたいコードを入力する
コードを選択する
右クリックしてCreate Code Snippetを選択する
タイトルを付ける(例:「Developer Warning」)
Completionショートカットを設定する(例:
dw)Availabilityを「All」または「Swift」スコープに設定する
Doneをクリックする
これ以降、任意のSwiftファイルでショートカットを入力すると、オートコンプリートでスニペットが提供されます。
通常のコメントに対する主な利点は可視性です。// TODO:コメントは簡単に無視でき、一貫して検索するのも困難です。#warningはコンパイラにビルドのたびに表示させるため、未完了の作業が解決するまで常に目に入り続けます。
