“Hello, World!”に取り組むと、Javaのコードを書きながら、Exercismの進め方を身につけられます。これを完了すると、Javaトラックの残りの演習のロックが解除されます。
はじめるには、“Introduction to Hello, World”の動画を見てみましょう👇
古典的な入門用の演習です。 ただ"Hello, World!"と言うだけです。
"Hello, World!"は、新しいプログラミング言語や環境でプログラミングを始めるときの、伝統的な最初のプログラムです。
目標はシンプルです:
すべてうまくいけば、最初の本格的な演習を取得する準備が整います。
これが初めてのJavaの演習なので、解答を進める道のりを順を追って案内する詳しいチュートリアルを用意しました。ヒントや助けが必要なときは、のぞいてみてください!
Javaトラックの最初の演習へようこそ!
このドキュメントは、この演習を解くための順を追ったガイドです。手順はWindows、macOS、Linuxのどれでも同じように使えます。
Javaの基本をすでに知っている人でも、このガイドを順にたどることは役に立ちます。コードのコンパイルとテストに使うツールGradleの出力を理解できるようになりますし、このトラックのすべての演習に共通するパターンもいくつか紹介します。
新しいJavaの演習を取得すると、次のものが届きます。
src/test/javaディレクトリにあり、解答がきちんと動いていると言えるために満たすべきテストを定義しています。src/main/javaディレクトリにあり、今の問題を解くのに必要なクラスの骨組みを定義しています。オンラインエディターで解答を書いてテストを実行することもできますが、手元の環境で問題を解いてテストを実行したい場合は、次のリンクを確認してください。
ローカルで作業していても、オンラインエディターを使っていても、次のコードがあるはずです。
String getGreeting() {
return "Goodbye, Mars!";
}
目標は、用意されたコードを書き換えて、"Goodbye, Mars!"ではなく"Hello, World!"というテキストを出力するようにすることです。
修正して解答を実装したら、もう一度テストを実行します。テストはオンラインエディターでも、自分のマシン上でも実行できます。
動く解答ができて見直しも済んだら、exercism.orgに提出する準備は完了です。解答はオンラインエディターからでも、Exercism CLIを使ってローカルからでも提出できます。
演習をローカルから提出するには、まだの場合はまずexercism CLIをインストールしてから、解答のファイルを提出します。たとえば次のとおりです。
exercism submit <file location>
<file location>はGreeter.javaファイルの相対パスに置き換えます。たとえばC:\exercism\java\hello-worldで作業しているなら、コマンドは次のようになります。
exercism submit .\src\main\java\Greeter.java
オンラインエディターから解答を提出したい場合は、「Submit」ボタンをクリックするだけです!
ローカルでの解答の提出について詳しくは、こちらをご覧ください。
ここからは、いくつかの道があります。
次に何をするにしても、このコミュニティの一員として学び、楽しんでいただけることを心から願っています。助けが必要なときは、いつでも遠慮なく聞いてください。
それでは!
練習できる演習はまだまだたくさんあります。次の演習を手に入れましょう!(two-ferの例)
exercism download --exercise=two-fer --track=java
Exercismの核心は、コードの書き方について交わされる会話です。練習そのものももちろん楽しいですが、ほかの人の挑戦や自分の解答に触れることでフィードバックが得られます。そのフィードバックは、うまくできているところと、もっと改善できるところを教えてくれます。
提出された解答の中には、自分のものとほとんど同じものもあれば、まったく違うものもあります。どちらも見ると、勉強になるし面白いものです。
メンターは、自分が担当するトラックに提出された解答をレビューして、学習者ができるだけ多くを学べるように支えます。
メンタリングについてもっと知りたい場合は、Exercismのドキュメントを見てください。
Exercismは全体がオープンソースで、100人を超えるメンテナーと、さらに多くのコントリビューターが愛情を注いで作り上げています。
参加してコントリビューターになるための入り口は、Exercismのコントリビューションガイドにあります。