組み込みアノテーション: override、deprecated
ツールやチームメンバーに意図を伝えます
「組み込みアノテーション: override、deprecated」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
アノテーションとは
アノテーションとは、@記号を使ってコードに付加するメタデータです。実行されるものではなく、ツールやアナライザー、チームのメンバーに情報を伝えます。🏷️
@構文
アノテーションは、宣言の直前の行に置きます。@接頭辞によって、Dartはそのトークンを通常の式ではなくメタデータとして扱います。
@override
String toString() => 'Cat';@overrideを使う
@overrideアノテーションは、スーパークラスやインターフェースのメソッドを意図的に置き換えることを示します。意図を明確に記録できます。
class Dog extends Animal {
@override
void speak() => print('Woof');
}@overrideが役立つ理由
メソッド名を誤って入力したり、シグネチャが変わったりすると、アナライザーが警告します。つまり@overrideによって、気づきにくいタイプミスを早期に見えるエラーへ変えられます。
@deprecatedを使う
@deprecatedアノテーションは、APIが古くなったことを示します。それを使用するコードは動作し続けますが、アナライザーが取り消し線付きの警告を表示します。⚠️
@deprecated
void oldLogin() {}理由付きで非推奨にする
@Deprecatedにメッセージを付けて、呼び出し側を置き換え先へ誘導します。テキストはツールチップやエディターの警告に表示されます。
@Deprecated('Use signIn() instead')
void login() {}アノテーションは引数を受け取る
アノテーションの中にはコンストラクター呼び出しであるものがあり、括弧内で引数を受け取ります。先ほど見た@Deprecated('...')形式がその一例です。
@pragmaを使う
@pragmaアノテーションは、Dartコンパイラーやランタイムにヒントを渡します。高度な機能ですが、ライブラリコードを読むときに認識できると便利です。
@pragma('vm:entry-point')
void handler() {}アノテーションは実行されない
覚えておきましょう。アノテーションは受動的なラベルです。それ自体が実行されることはありません。値はtools、アナライザー、コードジェネレーターなどによって読み取られます。
配置できる場所
classes、メソッド、フィールド、パラメーターなどにアノテーションを付けられます。各アノテーションには、宣言時に使用可能な対象が定義されています。
@deprecated
class LegacyService {}アノテーションを重ねる
1つの宣言に複数のアノテーションを重ねて付けられます。それぞれを別の行に記述します。順序によって動作は変わらないため、読みやすさを考えて記述してください。
@override
@deprecated
void render() {}クイックチェック
メソッドが親のメソッドを置き換えていることを示すアノテーションを選んでください。
まとめ
組み込みアノテーションを3つ学びました。意図を示す@override、警告を示す@deprecated、コンパイラーへのヒントを示す@pragmaです。いずれも受動的なメタデータです。🎉
よくある質問
「組み込みアノテーション: override、deprecated」レッスンは無料ですか?
はい。「組み込みアノテーション: override、deprecated」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「組み込みアノテーション: override、deprecated」で何を学びますか?
ツールやチームメンバーに意図を伝えます ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「組み込みアノテーション: override、deprecated」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 組み込みアノテーション: override、deprecated
- カスタムアノテーションの作成
- build_runner によるコード生成
- json_serializable の実践