【WIP】リーダブルコード輪読会2023
概要
フィヨルドブートキャンプで、2023年の1月中旬から「リーダブルコード輪読会2023」を開催します!
毎週土曜日と日曜日の14時~15時、Discordの輪読会チャンネルで始める予定です。
しかし土日開催ということもあり、主催者であるLEF(私)も、参加できない日がたびたびあると思います。
そのため、どのような方法で輪読会を進めていくのかについて、その詳細を書いておこうと思います。
参加条件
フィヨルドブートキャンプのDiscordに所属していれば、誰でも参加して大丈夫です!
LEFも初心者なので、初心者の方大歓迎です!✨
(そもそもコードとはなんぞや?という超初心者の方でも参加しやすい環境にしたいと思っています)
ラジオ参加(聞くだけ参加)、チャットのみの参加、もぜんぜんOKです!
挨拶すら必要ありません!
ゆるく参加して、ゆるく退席できる感じにしようと思っています。
また、リーダブルコードの書籍📘を持っていなくても、参加してOKです!
タイムスケジュール
- 14:00 開始時間
- 14:00-14:05 まったりタイム
- 14:05 botを使って、司会者と読む順番を決めます。読める方にマイクのミュートを解除して頂いてから、コマンドを打ち込みます。コマンドは
!you all
- 14:05-14:40 輪読をしていきます
- 14:40-14:45 メモ時間:各自学んだことを、輪読会のスレッド内にチャットで書き込みます
- 14:45-14:55 振り返りタイム:輪読と同じ順番で、それぞれ学んだことを発表します。発表が一巡したら、主催者の方は、どのページまで進んだかをチャットに貼り付けます。
- 14:55-15:00 まったりタイム
※バッファーのため、まったりタイムを作っています。
司会者と参加者について
!you all
をすると、マイクがミュートになっていない方がシャッフルされて表示されます。
順番で最初になった方に司会を務めて頂き、2番目以降の方には順番に書籍を読み上げていただきます。
また、本の内容でたびたび疑問点が浮かぶと思うので、司会の方には読める方を回していく合間に「ここまでの内容で何か質問やコメントがある方はいますか?」などと言って頂けると助かります。
そこで参加者の方から質問やコメントがあることで、議論が活発化し、自分ひとりでは気づかないような発見があると思います。これこそが輪読会の肝です。参加者の方は遠慮せずにどんどん質問しましょう!
司会者の方は、区切りの良さそうなところで次の方に回していただくのと、質問を募るのと、メモ時間や振り返りタイムになったらそれをお知らせする係です。とても簡単なので、一度参加してみれば、どのような形で進めるかが分かると思います。
※輪読では順番に本を読み上げていくわけですが、一人あたりの分量としては、約2ページを目安にするとちょうど良さそうだと思いました。
学習ノートについて
色々迷った末、HackMDなどの外部ツールは使わないことにしました。
理由は2つあります。
- 気軽に参加できるようにして、参加率をあげるため
- 共同主催者の方に負担を掛けないため
土日開催であるため、参加者は少なくなる可能性が高いです。そもそもLEF自身も参加できない日がたびたびあるかもしれません。
もし、HackMDなどで共同の学習ノートを作成すると、開催コストがかなり跳ね上がってしまいます。また、LEFが休んだ場合には、共同主催者の方に色々お願いすることになると思うのですが、その場合にHackMDに新規ページを追加したりなどの準備コストを押し付けてしまうのは、ちょっと問題があると思ったからです。
Discord内だけで完結するようにすれば、外出先でも参加しやすくなる、というメリットもあります。
もし、長期的な記録を残したい方は、各自で自分のノートブックに書き留めて頂けると助かります。
メモ時間にチャットを投稿する際のポイント
14:40になったら、各自学んだことをスレッドへとチャットで貼っていただきます。
その際、手元のテキストエディタで書き込んでからそれを貼り付けると書きやすいかもしれません。
14:45になったら振り返りタイムになるわけですが、それまでに書き終わらないこともあるかと思われます。
なので、その場合は書きかけのまま一旦投稿してしまってから、編集機能を使って後で修正することをオススメします。
疑問に残っていることがあれば、【本日学んだこと】の中に、疑問点を書いてみましょう。
振り返りタイムについて
振り返りタイムでは、メモ時間で投稿した内容をもとに、【本日学んだこと】を一人ずつ発表していきます。
順番としては、最初に!you all
コマンドで決めた順番通り、司会の方から順に発表していく形にしようと思います。
もし、質問しそびれたことがあったら、この振り返りタイムで発表するときに質問しちゃいましょう。
※学習記録や発表は任意です。発表は一言コメント程度の簡単なものでも大丈夫です! マイクを使えない方は、「代読をお願いします」という文言を【本日学んだこと】へと併記しておくと、司会の方も分かりやすいと思います。
共同主催者の方について
前述の通り、休日は予定が入ることが多いです。LEFもときどき休むと思います。
そのため、現在共同主催者の方を募っています。共同主催者の方は、LEFがいないときのピンチヒッターを務めて頂けるだけで大丈夫です。
(→共同主催者をしてもいいよ~という方は、お気軽にLEFのチャンネルにコメントお願いします。🙏)
具体的には、輪読会の最初にbotでコマンドを実行して、司会と読む順番を決めるだけなので、とても簡単だと思います。
また、主催者の方には輪読会の一番最後に、何ページまで進んだかをチャット欄に貼って頂きたいです。どこまで進んだかが分からなくなってしまうと、引き継ぎが困難になってしまうためです。
共同主催者のうち、誰かがいれば輪読会を開いて、共同主催者が誰も参加できなければ、その日はお休みにしようと思います。
読み上げbotとbokanについて
Discordに読み上げbotがあるらしいので、気が向いたら使ってみたいと思います。
また、bokanという時間になったら自動的に会議を終了させる素晴らしいbotがあるので、それも気の向いたときに使えたらイイなと思っています。💣
イラストについて
イラストの部分もとても重要だと先輩方に教えて頂いたので、輪読の際にはイラストのところも読んでいきたいと思います🖼
本に出てくるコードについて
リーダブルコードでは、C++・Python・JavaScript・Java等によるコードの実例が載っています。
そう聞くと一瞬不安に感じるかもしれませんが、本書の「はじめに」の章で書かれているように、上の4つのプログラミング言語に関する知識がなくても内容を読み進められる仕組みになっています(自分もC++やJavaはあまり自信がないです)。
解説が充実しているのもありますし、読みやすいコードを書くという目的意識は、どの言語を使っていても変わらないからです。
とはいえ、「このページのこのコードをRubyで書いたらどうなるんだろう?」という疑問が、読み進めているうちに湧いてくるかもしれません。
そうした経緯もあって、フィヨルドブートキャンプのメンターであるcafedomancerさんが、「リーダブルコード内のいくつかのコードをRubyに書き換えたらこうなるよ」という情報を提供してくださいました!!ありがとうございます!!✨
該当ページが近づいてきたら、FBC内のイベントページやDiscord内で改めて共有したいと思います。
15章について
リーダブルコードの15章はC++を使ってプロダクトコードを改善する内容になっています。
この章はとても難しい内容の応用編となっており、初学者がリーダブルなコードを書く上では直接関連が薄いため、読まずに飛ばしたいと思います。
(※先輩のeatplaynapさんにご助言頂きました。ありがとうございます!)
うまく会話に入れないときのTIPS
皆さんはボイスチャットは得意ですか? LEFはあまり得意ではないです。
どうしてボイスチャット上で話すのが難しいというと、顔を見ずに喋る必要があるため、どのタイミングで喋れば良いのか分からないときがしばしばあるからです。😔
勇気を出して声を出した瞬間に、他の人と被ってしまって気まずくなってしまった……という経験は、皆さんも一度はあるかもしれません。
対面ならうまく喋れるのに……と思うような場面でも、ボイスチャットだとどう会話を切り出せば良いのか分からないこともあります。
親しい間柄なら喋りやすくても、あまり参加できていない・見慣れない方が多い輪読会で声を出すのは、それなりに緊張すると思います。
この問題をどう解決すれば良いでしょうか? 自分なりに解決策を考えてみました。
それは、テキストチャットをどんどん活用しよう! ということです。💬
例えば、「ボイスチャットで会話が盛り上がっていて、今めっちゃ質問しづらいな……でもここページのこの用語の意味が分からないし……本当は質問したいけど、会話に割り込んでまで質問するのも気が引けるし……」というときに、テキストチャットへこう書き込んでみましょう!
こんな感じで投稿したり、
こんな感じにテキストチャットに書き込めば、きっと司会の方が気づいてくれると思います。
そして、司会の方が「Aさん、質問どうぞ~!」とその方を当てて頂ければ、Aさんはゆっくりと安心しながら質問することができると思います。
この方法を使えば、いつ質問を切り出そうか……と喋りだすタイミングで悩む必要がなくなると思います。精神的にもストレスが少なくなるはずです。
また、外出先でマイクが使えないときや、元気がなくて一切声を出したくないときもあると思います。
そのようなときは、
質問です。変数名でfooとかbarみたいな単語がちょこちょこ本の中で出てくるんですが、fooやbarってどういう意味ですか? 謎すぎポヨ……🥺
と具体的な内容をテキストチャットに全部書き込んでしまえば、声を一言も発することなく質問することができます。
輪読会で司会を担当される方は、テキストチャットもたびたび確認して、話題を拾ってくださるようお願いします🙏
さいごに
余談になりますが、以前hyumanaseさん(ヒューマさん)が主催してくださった『Ruby超入門』の輪読会の雰囲気がすごく好きで、FBCに入会して間もなかった自分でも暖かく迎えてくださって、とても嬉しかったのがLEFの中で強く心に残っています。
何も分からない状態で参加したわけですが、色々な話題を振ってくださって、どんな質問にも明るく答えて頂き、とても喋りやすく楽しかったです。その経験が、自分でも輪読会を開いてみたいと思った切っ掛けでした。
LEFが主催者として向いているかというと、会話を盛り上げるのも話題を振るのも正直あまり自信がないです。😅
ですが、このリーダブルコード輪読会に参加した方が遠い将来、
「そういえば昔フィヨルドブートキャンプってところで、象のアイコンの人が企画していたリーダブルコードの読書会にちょこちょこ参加したんだけど、内容あんまり思い出せないけどすごく楽しかったな~」
と良い思い出になるように、色々工夫して頑張りたいと思います。
よろしくお願いします✨
その他
他に何かあればまた追記します