Skip to content

subjaru/code-your-ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

Code Your Ruby

Code Your Ruby is a workspace to practice Ruby with code reviewing each other.

これは何?

Code Your Rubyは、Ruby初級者がコードレビューを通してRubyの書き方や考え方を学ぶためのリポジトリです。

出題の内容を実装してこのリポジトリへプルリクを送り、それを他のRubyエンジニアがレビューすることで、自分ひとりでの勉強では得られない視点や技術を身に着けることができます。

「Rubyを仕事にしたくて本やネットで勉強してみたけど、本当にこの書き方で良いのか不安!」という方はぜひ「参加手順」を一読して参加してみてください!

参加手順

大まかには、このリポジトリをForkしてお題に沿ったプログラムを実装してmasterブランチにプルリクを投げる、という流れで進みます。

細かなステップは以下の通りです。

  1. このリポジトリをForkします。
  2. ForkしたリポジトリをローカルにCloneします。
  3. specificationディレクトリの問題を確認します。どの問題からトライしても大丈夫です。
  4. userディレクトリに自分のGitHubアカウント名でディレクトリを作成します。これが作業ディレクトリになります。
  5. 作業ディレクトリに、課題の実装コードを配置するlibディレクトリとテストコードを配置するtestディレクトリを作成します。
  6. 課題の仕様を満たす実装コードとそのテストコードが書を書きます。
  7. 「これで書けた!」と思ったらuserディレクトリ以下をコミット&Pushし、このリポジトリのmasterブランチにPull Requestしてください。

レビュー手順

「誰が」「いつまでに」「どのような形式で」のようなルールは特にありません。

提出されているプルリクに対して何かコメントのある方はどんどんコメントを追加してください!

ただし、あくまで目的は 参加者の学習 であることを忘れずに、建設的な議論を意識してください。「微妙、、、」みたいなのはナシです。

マージについて

プルリクが提出され、コメントのやりとりが落ち着いたと @chooyan-eng が判断した時点でそのプルリクをマージします。

最終的なコードの質は特に見ません(見れません)。また、マージすることが目的でもありませんので、マージに関するルールは特にありません。

マージ後の修正や別の問題へのチャレンジは再度プルリクを提出してください。

ディレクトリ構成

例えば@chooyan-engがfizz_buzz問題にチャレンジする場合、ディレクトリ構成は以下のようになります。

$ tree
.
├── README.md
├── specification
│   └── fizz_buzz.txt
└── user
    └── chooyan-eng
        ├── lib
        │   └── fizz_buzz.rb
        └── test
            └── fizz_buzz_test.rb

ただし、libtest以下のディレクトリ構成は自由です。
言い換えると、ディレクトリの切り方もレビュー対象になり得ます。いろいろ考えてみましょう。

その他

  • 問題は随時追加 / 更新予定です。
  • このリポジトリのForkや再利用は自由です。同じような取り組みをもっと狭いチーム内でやってみたい、他の言語でやってみたいなどありましたらご自由にアレンジしてください。

Code Your Rubyを作ったきっかけなどをQiitaで記事にしました。併せてご覧ください。
これからRubyで仕事したい人のためのリポジトリ「Code Your Ruby」を作りました | Qiita

ご意見などがありましたら、Issues@chooyan_i18n(twitter)までご連絡ください。

About

Code Your Ruby is a workspace to practice Ruby with code reviewing each other.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%