3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

大半のOSSに対して速攻でタイポを発見できるワンライナー

Last updated at Posted at 2024-10-28

タイポを見つけちゃおう

typosを使います。

typos --format brief --color always | ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'

複数行に分けると、

typos --format brief --color always |
ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'

です。これで、大半のOSSに対してタイポを発見できると思います。
これだと、コード本文ではなく、Changelogなどのタイポをたくさん見つけてしまう場合は、fdコマンドなどを使って、拡張子や除外ディレクトリを指定してみましょう。例えば、以下の例では、Crystalのファイル .cr のみを検索し、lib ディレクトリを除外します。

fd -E 'lib/*' -e cr \
  | typos --format brief --color always --file-list - \
  | ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'

タイポを発見できたらプルリクエストを送ってみよう

実際にCrystalに対して、上記のワンライナーで発見できたタイポ修正のプルリクエストを送って取り込んでもらいました。

何をしているのか?

何をしているのかというと、typosコマンドを使ってタイポを発見して、Rubyのワンライナーを使って、文字列の長い単語の順番に並び替えています。

長い単語の方がタイポの可能性が高いためです。

タイポ修正は、メンテナにとってもやさしいプルリクエスト

さて、タイポ修正はOSSへの貢献で最も簡単なものです。

そして、実はメンテナに対しても優しいプルリクエストなのです。
確かに、普段からたくさんのプルリクエストを受け取ってるメンテナの中には「なんだタイポ修正かよ……。」と思う方もいらっしゃるかもしれません。けれども、それはほんの一瞬の出来事です。

タイポフィックスのプルリクエストのレビューには、精神的なエネルギーがほとんど要りません。

さっと確認してポチッとマージボタンを押すだけです。

だからタイポ修正は、メンテナにとっても負担が少ない、やさしいプルリクエストなのです。

そしてタイポフィックスでも一回コミットすると、そのプロジェクトに対して少し愛着がわきます。

おすすめです。コミットしていこう。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?