Sponsor Link
環境&対象
- macOS14.5
- Xcode 16 Beta
- Swift 5.9
コードにメモする方法
Swift のコードに、”一時的な”メモを追記しておきたい時があります。
メモの内容によって、そのメモが非常に重要になる時もありますし、それほど 高い重要度を与えたくない時もあります。
この記事では いずれにしても、ずっと残したいメモではなく、一時的に残したいメモについて 考えていきます。
想定しているユースケースは例えば、”今は時間の都合で実装できないけど、将来的には、ここを改善することで実装できる” だとか、コード記述中に、”いまは、機能実装をしているけど、一段落したら、この部分は XX を YY にリファクタリングすべき” というようなメモです。
ずっと残したいメモは、いわゆる ”コメント” です。 もしくは、コード中ではなく、外部ドキュメントかもしれません。
メモの内容や対象範囲 等で、適切なメモの方法自体も変わると思いますが、まずは手段としてどのような方法があるかをまとめてみます。
メモの記述方法 / メモの検索方法 / Pros-Cons でまとめてみました。
いろいろと考えられますが、それぞれの良い点・悪い点 (Pro/Con) と合わせて説明します。
「紙にメモする」は、除外してます。
コメントを書く
一番 シンプルな方法は、コメントに書く です。
記述方法
該当箇所に、コメントを書きます。
例えば、以下のような記述になります。
// ここでは 文字数についてチェックすることが必要
let x = "Hello, world!"
検索方法
Xcode の検索機能を使用して、キーワードで検索することで見つけます。
キーワードを正しく指定できれば、見つかります。
Pros/Cons
Pro:
一番シンプルです。
Con:
どこに書いたか忘れてしまうと、使用したであろう単語を思い出して検索することが必要となります。
見つからない時は・・・・頑張って探すしかありません。
// TODO: を使う
Xcode では、コメントを特定のフォーマットで記述すると その意味を 理解してくれます。
記述方法
“TODO:”, “FIXME:”, “MARK:” という文字列で開始すると、Xcode のソースコードエディタが理解し、エディタのナビゲータで表示されるようになります。
該当箇所に、以下のようにコメントを書きます。
// TODO: ここでは 文字数についてチェックすることが必要
let x = "Hello, world!"
検索方法
該当ファイルを開くと、ナビゲータを使用して ジャンプすることができます。
ソースコードエディタのナビゲータに以下のように 該当コメントを選択できるようになります。
コメントと同様に、Xcode の検索機能を使用して、キーワードで検索することで見つけることもできます。
Pros/Cons
Pro:
Xcode のソースコードエディタが理解してくれるので、該当ファイルを開くことができれば、ファイル中の検索は容易です。
Con:
どのファイルに書いたかを忘れてしまうと、結局全ファイルに対して検索を行うことが必要となります。
Bookmark として記録する
Xcode には Xcode15 から、bookmark という機能が追加されました。
これは、Xcode で管理している ファイル および 位置 をブックマークとして記録しておくことができる機能です。
記述方法
Bookmark したい箇所での右クリック/コンテキストメニューから Bookmark メニューを選択します。
ソースコードエディタ中に表示される Bookmark をクリックすることでコメントを追記することもできます。
検索方法
Xcode の Bookmarks ナビゲータで確認することができ、クリックすると該当ファイル/行へジャンプできます。
Pros/Cons
Pro:
コードを汚すことなくメモできます。
Con:
Bookmark は、Xcode のプロジェクトに保存されていますので、ソースコード単体を確認しても 見つかりません。
Xcode 15 以降でサポートされた機能ですので、Xcode14 以前の環境では使用できません。
#warning を使う
#warning を使用して、メモしておくことも可能です。
記述方法
該当箇所に、以下のように記述します。
import SwiftUI
struct ContentView: View {
var body: some View {
#warning("HStack を検討する?")
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
}
}
検索方法
コンパイルすると、ワーニングとして表示されます。
例えば、Issue Navigator に 表示されます。
ワーニングをクリックすることで、該当箇所にジャンプできます。
Pros/Cons
Pro:
コンパイルすることで、ワーニングとして表示されますので、放置されることが少なそうです。
Con:
コンパイル時のワーニングが増えることになってしまいます。ワーニングを毎回理解して、スキップすることが必要になるので、注意力を消費してしまいます。
まとめ
ソースコード中に、メモを残す方法を説明しました
- コメント:わかりやすいが、見失いやすい
- アノテーションコメント:わかりやすく、Xcode のサポートがあるが、見失いやすい
- ブックマーク:探しやすいが、Xcode プロジェクトを共有しないといけない
- #warning:見逃しにくいが、常に注意力を消費する
説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。
SwiftUI おすすめ本
SwiftUI を理解するには、以下の本がおすすめです。
SwiftUI ViewMatery
SwiftUI で開発していくときに、ViewやLayoutのための適切なmodifierを探すのが大変です。
英語での説明になってしまいますが、以下の”SwiftUI Views Mastery Bundle”という本がビジュアル的に確認して探せるので、便利です。
英語ではありますが、1ページに コードと画面が並んでいるので、非常にわかりやすいです。
View に適用できる modifier もわかりやすく説明されているので、ビューの理解だけではなく、どのような装飾ができるかも簡単にわかります。
超便利です
販売元のページは、こちらです。
SwiftUI 徹底入門
# SwiftUI は、毎年大きく改善されていますので、少し古くなってしまいましたが、いまでも 定番本です。
Swift学習におすすめの本
詳解Swift
Swift の学習には、詳解 Swift という書籍が、おすすめです。
著者は、Swift の初期から書籍を出していますし、Swift の前に主力言語だった Objective-C という言語についても同様の書籍を出しています。
最新版を購入するのがおすすめです。
現時点では、上記の Swift 5 に対応した第5版が最新版です。
Sponsor Link