はじめに
課題をすすめるなか、ついにアプリ開発に入りました。そして、READMEというものをはじめに行いました。READMEとは何なのか。書き方はどのようなものが一般的なのか。注意する点は何か等調べてみたのでまとめてみます
READMEとは
一般企業やオープンソースプロジェクトでも広く使用されていて、プロジェクトの概要や使い方、設定方法などを記載するファイルのこと。少し言い換えると「README一つでそのプロジェクトを説明することができるドキュメント」という事になります。(仕様書に近い?)
README一つでというのが個人的にはきもだな。と感じます。
アプリを実際に使ってもらう前の段階ということ
しっかり記入しないと肝心のアプリを使用してもらえない状態に
ついでに、語源については「Read Me」という英語のフレーズからきているという説があります。
READMEは誰に向けて書くものか?
私自身ぱっとおもいついたのは「アプリを使用する人」ですが、ざっくりとしすぎていると感じました。反省です。調べるとより明確に「誰に向けて書くものか」を知ることができました。
エンドユーザー(End users)
属性としては、自身のプロジェクトやアプリ、ツールの利用者。機能の側面を重視する。
技術的な知識を有していない方。技術的な実装に対する関心は薄い。
テクニカルユーザー(Technical users)
属性としては、技術者あるいは技術的な面に関心を持つ方。もしくは自身のプロジェクトに統合させたり、APIやライブラリとして使いたい方。提供される機能に対する関心は強いが、実装内容については関心が薄い。
貢献者(Contributors)
属性としては、あなたのプロジェクトと関わり・交流を持つ方。
プロジェクトやアプリ、ツールをインストールするためのサポート、バグや新しい機能を提案する方。あるいは拡張機能を含むプルリクエストを送信したいユーザーや経済的にプロジェクトを支援したい方。
READMEの書き方について
消火設備の設置届みたいに決まったフォーマットへ必要事項を入力するようなものではないので、個々人の書き方が問われます。
調べた中で発見した私個人的によさそうだと感じたフォーマットを集めてみました
■サービス概要
3行で説明。
■ このサービスへの思い・作りたい理由
題材となるものに関してのエピソード
■ ユーザー層について
どうしてその層を対象にしたのか理由を記載。
■サービスの利用イメージ
サービスを利用することでどんな価値を得られるかの説明。
■ ユーザーの獲得について
想定したユーザー層に対してどのようにサービスを届けるのか。
■ サービスの差別化ポイント・推しポイント
サービスの推しとなるポイントを記載。
■ 機能候補
MVPリリース時に作っていたいもの、本リリースまでに作っていたいもの。
■ 機能の実装方針予定
1.提供するプロジェクトがどのようなものか簡単に説明する。
2.インストール方法と実行方法を記載する。
3.訪問者にどのようにプロジェクトに参加し、どのように協力できるかを提供する。
上記の事を考えたうえで具体的には以下のような内容
・プロジェクトのタイトル
・プロジェクトの説明
・目次
・プロジェクトのインストール方法、実行方法
・プロジェクトの使用方法
・謝辞(貢献してくれたチームメンバーの名前、参考にしたプロジェクトへのリンクや資料などの情報)
・ライセンス
・プロジェクトのステータスバッジ
・プロジェクトへの貢献方法、行動規範
使用している主な技術
プロジェクトの概要
必要な環境変数やコマンド一覧
ディレクトリ構成
開発環境の構築方法
トラブルシューティング
個人的に参考になるサイトをまとめておきます
ワールドで活躍したいなら英語は必須だと感じています💦
さいごに
これが正解!というものが存在しないコードの書き方やREADME。どんなことにおいても言えますが「相手の為を思って」が大事だと感じています。
ここばかりに力を入れてしまうことは本末転倒のような気がしますが、すべての事において抜け目のないよう、スクール内のアプリ作成以外で、英語で相手に伝わるようなREADMEをかけるまで精進