Giveryidunder02.give-app.net
ご質問への回答

いただいたご質問への回答

日次アンケートに書いていただいたご質問と、答えきれなかったことをまとめています。研修中に時間が取れなかったものも入れました。次回の冒頭でも触れますが、先に読んでいただいてかまいません。

Q1Java が分からないとき、AI にコードの解説を聞いてもよいですかDay2 / 田中さん

聞いてください。むしろ、そこがいちばん効く使い方です。

研修では時間の都合で先に進みましたが、現場では制限がありません。分からないコードを開いて、そのまま「このファイルが何をしているか、日本語で説明してください」と送れば返ってきます。

解説だけでなく、直したい方向まで一緒に伝えられます。「このメソッドの処理を日本語で説明したうえで、読みにくい箇所があれば指摘してください。まだ直さないでください」と送ると、説明と指摘が並んで返ります。読んでから、直す箇所を自分で選べます。

Day3 でも同じ形を使います。エラーの山を読んでから貼るのではなく、貼ってから一緒に読む。この順番でかまいません。

@対象のファイル名 このファイルが何をしているか、日本語で説明してください。
専門用語には短い言い換えを付けてください。まだ直さないでください。
Q2機能が多いシステムで、全部のテストを作るのは現実的ですかDay2 / 高橋さん

全部は作りません。作る対象を選ぶところが人の仕事です。

優先するのは3つです。お金の計算をしているところ。分岐が多いところ。過去に事故が起きたところ。この3つに絞るだけで、事故の大半は捕まえられます。画面の表示やログ出力のような、壊れてもすぐ気づける箇所は後回しでかまいません。

既存のシステムに後からテストを入れる場合は、全体を一度に埋めようとしないでください。次に直す予定の箇所だけ、直す前にテストを書く。これを繰り返すと、よく触る場所から順に守られていきます。触らない場所はテストが無いままでも困りません。

Day2 の D2-2 でやったのがこの形です。3か所のバグを直す前に、その3か所だけテストを書きました。

Q3できているかどうか、どこで判断すればよいですかDay1・Day2 / 今野さん

各演習の先頭にある「ここまで出たら完了」を見てください。手順より前に置いてあります。

2回続けてご指摘をいただいた点で、こちらの作りが足りていませんでした。文字だけでは判断しづらいので、完了したときに画面へ何が出るかの写真を各演習に入れました。自分の画面と見比べて、同じものが出ていれば次へ進んでかまいません。

写真と違っていても、数字が一致していれば正解です。テストの本数や金額は、書き方によって表示の並びが変わります。見るのは並びではなく値です。

判断に迷ったら、その画面のまま手を挙げてください。進んでよいかどうかは講師が見ます。

Q4リファクタリングは結局、何をやっているのですかDay2 / 福田さん

動きを1ミリも変えずに、読みやすさだけを上げる作業です。

普通の修正は、動きを変えるのが目的です。リファクタリングはその逆で、動きが変わったら失敗になります。だから毎回 diff を取って、出力が同じであることを確かめました。あの diff が「失敗していない」という証明です。

なぜやるかというと、次に直す人のためです。変数が cnt や tmp のままだと、直したい箇所を探すのに時間がかかります。名前が意味を持っていれば、探す時間が減ります。AI に頼むときも同じで、意味のある名前が付いていると、こちらの意図が伝わりやすくなります。

作業としては地味ですが、AI に書かせる量が増えるほど効いてきます。読む量が増えるからです。

Q5理解が追いつかないまま、先に進んでしまいますDay2 / 猪爪さん

手を挙げてください。全員が終わるまで次へ進みません。

とはいえ、手を挙げにくいこともあると思います。そのときはチャットに「まだです」とだけ書いてください。内容を説明する必要はありません。人数だけ分かれば講師が待ちます。

研修中に全部を理解しきる必要もありません。演習が終わったあと、同じ手順を自分のペースでもう一度なぞれるように、教材ページには手順と完了条件を全部書いてあります。配布データも手元に残るので、あとから同じことができます。

Java の知識が足りないせいだと感じられたとのことですが、この研修で見ているのは Java ではありません。どのファイルが変わったか、動かして何が出たか。この2つだけです。

Q6事前セットアップに、会社の手順に無いものがありましたDay1 / 木村さん

3つあります。貴社の「研修環境セットアップ手順」に無いものを、こちらで足しています。

wget、unzip、jq の3つの導入と、文字コードの設定です。事前セットアップの Step 3 と Step 6 にあたります。

特に文字コードは飛ばすと後で止まります。ロケールが未設定のままだと文字コードが ANSI_X3.4-1968 になり、日本語を含む Java ファイルがコンパイルできません。Day3 の演習1がそのまま動かなくなります。

手順が食い違って迷わせてしまいました。事前セットアップのページに、社内手順との差分がどこかを明記しています。

echo 'export LANG=C.UTF-8' >> ~/.bashrc
source ~/.bashrc
locale charmap
Q7Zoom の操作に慣れていませんDay1 / 村上さん

使うのは3つだけです。画面共有、チャット、リアクション。

こちらから操作をお願いするのは画面共有だけで、それも詰まったときに限ります。共有をお願いしたら、画面下の「画面の共有」から VSCode のウィンドウを選んでください。全画面ではなくウィンドウを選ぶと、他のものが映りません。

質問はチャットでかまいません。声を出す必要はありません。「まだです」「ここで止まっています」だけで伝わります。

手を挙げるのはリアクションの中にあります。押しても音は鳴りませんし、講師にしか見えない形でも使えます。