freeism-contribution-calculateの説明 freeism-contribution-calculateの説明 概要 フォルダ構造の説明 使い方 シェルスクリプトで実装した理由 設計で気を付けたこと 推奨 概要 引数で指定した 対象 への各ユーザーごとの貢献度を分析してくれる srcフォルダ内の各目標への貢献度合いを、その直下の評価軸で算出する フォルダ構造の説明 フォルダ構造 src -> 評価軸 -> 異なる評価対象ごとの評価ロジック -> データ取得 / データ加工 / 重み付け値の算出 / 貢献度の算出 説明 評価軸の中でも、評価する対象ごとに最適な分析やデータ取得元が異なるので、評価ロジックは分ける 分析したい場合は、「異なる評価対象ごとの評価ロジック」階層のmain.shを実行して貢献度を分析する 使い方 「評価軸」->「評価ロジック」フォルダ内のmain.shごとにシェルを実行する ./main.sh [リポジトリ所有者名] [リポジトリ名] 1.各評価ロジックフォルダ直下のresults/mainフォルダに、分析結果が CSV 形式で入る シェルスクリプトで実装した理由 どの言語を学んでいる人でも理解しやすい 自分が勉強したかった 環境構築が楽 要件が変わったときに、すぐに変更しやすい 設計で気を付けたこと 疎結合 評価軸、評価ロジック、データ取得元が、いつでも簡単に差し替えられるように設計 ファイルもタスクごとではなく、評価軸ごとに分けた 「評価ロジック」、「評価軸」のフォルダごと削除しても、他は通常通り動作するよう設計 冗長的な部分があるが、疎結合さを優先 可読性 可読性のために、シェルスクリプトはファイルを分ける。 簡潔さ より多くの人に理解してもらうために、堅牢性を求めず、簡単にすぐ理解できて短い必要最小限のコードにする リッチな機能は提供せず、簡単に素早く理解できるようにシンプルな機能のみにする 推奨 .github/CODEOWNERSを設定して、自動でレビューアーのアサインがされるように設定 アサインも評価に含めるため。