railsを使用していてgemを入れる時、どういう基準で選べばいいか悩んでいました。
今日は、勉強会であった、ある企業のCTOから教えてもらったgemの選定方法について書いていきます。
star数が100以上ある
まあこれは当然の指標だと思いますが、やはり人気があるかどうかはここを見ると思うのでまずはstarを見るとのことです。
contoributorsの数が20〜30以上ある
外部から貢献する人数が多ければ、活発に修正、改良が行われてる可能性が高いため、最低でも20以上ある方が安心できるそうです。
Fork数が多くない
どれくらいが多いとするかを聞くのを失念していましたが、Forkが多いということは、gem自体に修正の余地があるのに対応されないため、各々がforkして修正している可能性が高いと取れるそうです。
Issuesが放置されいない
Issuesに対してキチンと対応していると、アクティブなgemと判断できるそうです。
最終更新が1年以内
モジュールの修正があまり古いと、やはり開発が止まって放置されている可能性が高いそうです。だいたい目安は1年以内に更新されているものを選びたいとのことです。
ただ、いい意味で枯れてて修正の余地のないものもあるので、ソースコードを読んで判断する必要があるとのこと。
ActiveRecordに対してモンキーパッチを当てていない
これをやっていたらまず避けるそうです。
確かに危険な匂いがしますね。
以上です。
また他のエンジニアにも聞いてみて、自分なりの基準を見つけたいと思います。