Skip to content

yuichisugio/freeism-calc-contrib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freeism-contribution-calculateの説明

概要

  • 引数で指定した 対象 への各ユーザーごとの貢献度を分析してくれる
    • srcフォルダ内の各目標への貢献度合いを、その直下の評価軸で算出する

フォルダ構造の説明

  • フォルダ構造
    • src -> 評価軸 -> 異なる評価対象ごとの評価ロジック -> データ取得 / データ加工 / 重み付け値の算出 / 貢献度の算出
  • 説明
    • 評価軸の中でも、評価する対象ごとに最適な分析やデータ取得元が異なるので、評価ロジックは分ける
    • 分析したい場合は、「異なる評価対象ごとの評価ロジック」階層のmain.shを実行して貢献度を分析する

使い方

  1. 「評価軸」->「評価ロジック」フォルダ内のmain.shごとにシェルを実行する
    ./main.sh [リポジトリ所有者名] [リポジトリ名]
    1.各評価ロジックフォルダ直下のresults/mainフォルダに、分析結果が CSV 形式で入る

シェルスクリプトで実装した理由

  1. どの言語を学んでいる人でも理解しやすい
  2. 自分が勉強したかった
  3. 環境構築が楽
  4. 要件が変わったときに、すぐに変更しやすい

設計で気を付けたこと

  1. 疎結合
    • 評価軸、評価ロジック、データ取得元が、いつでも簡単に差し替えられるように設計
    • ファイルもタスクごとではなく、評価軸ごとに分けた
    • 「評価ロジック」、「評価軸」のフォルダごと削除しても、他は通常通り動作するよう設計
    • 冗長的な部分があるが、疎結合さを優先
  2. 可読性
    • 可読性のために、シェルスクリプトはファイルを分ける。
  3. 簡潔さ
    • より多くの人に理解してもらうために、堅牢性を求めず、簡単にすぐ理解できて短い必要最小限のコードにする
    • リッチな機能は提供せず、簡単に素早く理解できるようにシンプルな機能のみにする

推奨

  1. .github/CODEOWNERSを設定して、自動でレビューアーのアサインがされるように設定
    • アサインも評価に含めるため。

About

calculate oss contribution

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages