アプローチ

演習のアプローチの書き方を学びます


各演習にはアプローチを関連付けることができます。アプローチは、その演習を解くためのさまざまな方法を説明するものです。

アプローチ

アプローチでは、ある演習を特定の方法で解くにはどうすればよいかを掘り下げます。

  • 内容は、次のいずれかとします。
    • 慣用的なアプローチを掘り下げます
    • 慣用的ではないものの、興味深いアプローチを掘り下げます
  • (完全な)コードサンプルから始めます
    • 文書の残りの部分でも、コードサンプルを積極的に使いましょう
  • トピックをとことん掘り下げてかまいません
  • 役に立つリソース(たとえばドキュメント)へのリンクを載せます
  • スニペットでは、そのアプローチの核心を示します
    • 最大8行まで使えます

複数のアプローチを比較したい場合は、記事を書いてください。

アプローチの概要

  • 問題の背景を説明します
    • _すべての_アプローチに当てはまる重要なポイント(たとえば落とし穴)を説明します
  • 最も慣用的なアプローチについて説明します
  • 各アプローチは、そのアプローチを示すスニペットから始めます
  • 内容は、かなり高レベルに保ちます
    • 詳細な情報は、独立したアプローチのページに書きます
    • 詳しくは、その独立したアプローチのページにリンクします
  • アプローチをどう選び分けるかを説明します
    • トレードオフは何でしょうか?
    • 特定のユースケースに適したアプローチはあるでしょうか?

全般的な注意点

  • 言語によっては、同じことを書くのに複数の方法があります。そのような構文の一部が、より新しいバージョンの言語でしか使えない場合は、「古い」構文を使うことを検討しましょう。そのほうが、学習者がコードを理解できる可能性が高くなります。
    • 別の構文は、アプローチの文書で示すことができます
  • 対象の言語に推奨のスタイルガイドがある場合は、(可能な範囲で)そのガイドラインに従いましょう

どの演習にアプローチを書くべきか?

一般に、プラクティス演習はふつう複数の方法で解けるため、アプローチを書くのに適しています。

コンセプト演習については、模範解答のアプローチを説明すると面白いかもしれません。たとえば、教えているコンセプトによって、あるコードがどれだけ書きやすくなるかを示せます。

ファイル

各アプローチでは、次の2つのファイルを追加する必要があります。

  • .approaches/<approach-slug>/content.md: アプローチの説明(ドキュメントを参照)
  • .approaches/<approach-slug>/snippet.txt: アプローチを示すスニペット(ドキュメントを参照)

その後、次のファイルを追加または更新する必要があります。

  • .approaches/config.json: アプローチのメタデータ(ドキュメントを参照)

スニペットの拡張子の設定

トラックのconfig.jsonファイルでapproaches.snippet_extensionフィールドを設定すると、デフォルトの.txt拡張子の代わりに独自の拡張子を使うこともできます。 設定した場合、追加するスニペットファイルの名前は.approaches/<approach-slug>/snippet.<approaches.snippet_extension>でなければなりません。