0

私はいくつかの貢献者と一緒にプロジェクトを開始しています。誰がどのコードを書いたかを追跡したいだけでなく、貢献者が書いたメソッド、コントローラー アクション、およびビューの数を取得したいと考えています。これには、誰も慣れていないレベルのメタプログラミングが必要です。

これまでのところ、コードの各スニペットの前にコメントを追加し、寄稿者のユーザー名と短く一貫したフレーズを追加することをお勧めします。例えば:

# method by RacerX
def a_useful_method
  . . .
end

# method by MysteryProgrammer123
def another_useful_method
  . . .
end

# action by MysteryProgrammer123
def new
  . . .
end

次に、各ユーザーがプロジェクト全体で記述したaction byandmethod byおよびのすべてのインスタンスをカウントするメソッドを実行します。view by残念ながら、他の Ruby コードを検査できる Ruby コードの書き方はわかりません。それは不可能かもしれません。しかし、それが可能である場合、それはどのように行われますか?

あるいは、私たちが検討していないより良いアプローチがあるかもしれません。

4

2 に答える 2

3

誰が何を書いたかをソース管理システムで追跡することをお勧めします。 git blameたとえば、著者とソース行を示す注釈付きのリストを生成できます。

ビューの識別は簡単です。それらはビュー ディレクトリにあります。静的メソッドの定義は通常、 regexp で見つけることができます/\bdef\s+(?:\w+\.)?(\w+)\b/。「アクション」を他のメソッドと区別するには、おそらく、ルートを調べて発見された一般的なアクション名やその他の名前に対してメソッド名をフィルタリングする必要があります。

于 2013-04-30T20:50:25.450 に答える
1

車輪を再発明するのではなく、既製のツールを使用してください。そして、そのようなコードを実装する方法が頭に浮かばなければ、おそらくそのようなコードを書くことはできません. YARDなどのドキュメンテーション ツールが役立つ場合があります。これが機能する方法は、メソッド定義の前にコメントとして説明を追加することです。通常、これはユーザーが読むためのドキュメントを作成するためのものですが、意図された用途から離れて、プログラマーの名前やその他の好きな情報などを書くことができます。

于 2013-04-30T20:26:00.263 に答える