アジャイルに開発するためにコーディングのコミュ力をあげよう
「中級エンジニアになるにあたってですねはいはいあのコーディングの小魅力上げてもらいたいなとコーディングの小魅力コーディングするときの小魅力開発時の小魅力あー低いな多分小魅力小魅力ねはいっていうところであの今日はですねはい」
「最近読んでるアジャイルプラクティスガイドブックっていう本があるんですけどこれはざっくり言うとアジャイル開発実際にやってみた時に役立つチップスチューみたいなのが載ってる本なんですがその中の開発コーディングの部分のお話で僕的にはかなり知見が広がったのもありますしアジャイルというかスクラムとかってチーム内でコードを全部理解できるようにしようっていうところがやっぱ」
「メインだししかも開発してコードレビューしてマージしてみたいなのをすごく早く回すための仕組みとして自分が書いたものをどうやって理解してもらうかっていうところの工夫がすごいんですねほうそれってチーム開発する上でめっちゃ大事なことじゃないですかまあ確かにねそうそう」
「っていうので今日はその辺のねどうやって周りとコミュニケーションを取りながら開発を進めておくんじゃというところについてちょっとお話ししたいなと思っておりますなるほど結局ソフトウェア開発って言うても伝言ゲームなんでぶっちゃけ確かにねだって人からこういうの作ってって言われて分かったって言ってでなんか作ってみたってやってなんか良さそう」
「マジズルーって言って4,5人くらいの伝言ゲームでなおかつそれを何回も何回も繰り返して一個でも作るじゃないですか伝言ゲーム終わってたらチグハグの何かができるわけなんですよそれじゃ許されんとっていうので非常に大事なのでやっていきましょうしかもそこずれてるとさ心折れるときあるよね心折れるレビューしててさうわー」
「なんか思ったのと全然違う感じになってるって時の心の折れ方半端ないんですよね僕もそれ1回だけやりました今までマジででも1回しかないですけどやっぱちょいちょいあります?なんかまあレベル感にもよるけど全然違うのはそんなないけどでもなんかうわぁこうやって欲しかったのになぁとかあれこれ言わなかったっけなぁみたいなのはねまあぼちぼちありますよねありますよねそうでめっちゃ手戻りするんですよそれしかもそうなんですよねその1回僕があったのはうん」
「えーとなんだろうなスプリント期間中に終わらなくて遅れてますって言ってて遅れてるんですねって言っていつまでできますかって言って期間終わってもう少し経った後に終わりますって言ったので待っててプッシュしてもらったら違くない?って違うちょっと違うしちょっと違うし」
「弟者:これ…これ全部やり直さなきゃいけないのかひょっとしてみたいな弟者:なんかコードも…なんか…めちゃめちゃ読みづらいし弟者:えぇ…兄者:何?もうな…何これ?みたいな」

「一回だけあってそれがうわぁ失敗したぁハントリングっていうのがあったんですけど僕の今日言うやり方をやるとそれを完全に防げます完全に防げる完全に防げます完全にっていうのが言い過ぎてないのかどうか不安でしょうがないけど世の中完全はないんですけどこれはでも完全に防げると思いますそうなんだ四方を確立してしまったんですね」
「っていうのをちょっとお話ししていくんですが今日お話しする範囲はスクラム開発を思い浮かべてもらってチケットアサインされました作り始めます作り始めてからコードがマージされるまで」
「作り始めてからマージされるまでっていうところをイメージして自分だったら今どうやって進めるかなっていうのをイメージしながらこの本ではこういうこと書いてましたっていう紹介をしていくスタイルでいこうかなと思うのでじゅんぺーくんに踊ってもらいながらやろうかなとロールプレイングタイムだ踊っちゃいますよというわけでどうしようかな機能は別に何でもいいんで特に指定はしないんですけどじゃあ分かりやすく」
「ログイン機能を作ろうにしましょうかバックエンドでねログイン機能を順平君よろしくチケットとかの作るべきものがいろいろしっかりともらっているという前提でチケットをアサインされました開発を始めます何からしますか?ちょっと流度むずいですねまずは僕はそのチケットをちゃんと見る」
「そこのチケットに詳細とかもきっと書いてあるんですよねそうね書いてるそうでしょうちゃんと読むもちろん分かんないことあったらとりあえず聞くこれこういうことでいいんですよねっていうタスクの認識合わせというかうんうんうん」
「はしてますね認識があったかなって思ったらコードを書き始めようというか当たりをまずはつけるんですよね多分つけてそこら辺のコードを読んで分かんなかったらまたそのコードこれどういうことなんですかって聞くであーいけそうかなって見えたら実装を始めるはい」
「一旦ここで待ったをかけますね普通そうだと思うんですよ順平の流れ僕がこの本斬新だなって思ったところがここがまずもう1ポイントこの本に書いてたプラクティスでまず普通チケット受けたらブランチ切るじゃないですかピーチャーブランチとか自分の実際のブランチ切ります切った直後まず空コミットをしますギットコミットを」
「アローエンプティっていう引数つけると変更なしでコミットが作れるらしいんですよそうなのそうなんだって思うじゃないですかまず僕も知らなかったんですけどカラコミットを作ります何するのって思うじゃないですかプッシュしてプルリクを作ります」

「うーんへーカラプルリクを作りますまずカラプルーで、これはドラフトはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはい」
「理解するの大変だって思うわけなんですよそれをしないためにちょっとずつ理解してもらうっていう流れを踏んでいくそのためにまずスタート地点でプルリクを作って最初からレビューアーをアサインしておくとめっちゃいいかもしれないこれすごいなと思って革命その発想はなかった確かに」
「しかもそれにあれですねプッシュされるたびにスラックに通知くるみたいな仕組み作ったらもう勝ちっすね何かに勝つのかな勝ちこれ斬新次実装を進めるって話したじゃないですか実装を進めるんですけどその順平の実装を進めるところの第一歩も多分違うと思っててまず最初に擬似コードプログラミングをするという風に書いてますPPP」
「コードを書くときにコメントアウトでここにこういう実装をするみたいな処理全体の流れを書いた上でまず一回それをプッシュするんですよなるほどそれをプッシュすると周りの人がこいつやろうとしてることあってるあってないかが判断というかできますしその上でなんかおかしくないってなったらドラフトプリリックの中で一回やり取りをしてアップデートができるんですよこれ」
「すごいいいなと思って確かに来週からやろうこれめっちゃいいですよねなおかついいなって思ったポイントとしてなんかアジャイルなんですよ精神がアジャイル開発とかってあれは物を早く作ろうっていうのはそうなんですけどどっちかっていうと早く失敗しようなんですよこれって早く失敗する仕組みじゃないですか確かに早めに他の人に共有してうんうん」
「っていうので本当にカラープロジック作る最初の擬似コードプログラミングするプッシュする共有するこれもう1日かかんないですよなるほどね」
「質問です疑似コードプログラミングは何でやるんですか何でっていうとコメントかなんかでやるんですかコメントでやりますね最初の多分メソッド作るとかだったら大枠のメソッドはいるのかもしれないですけどメソッドも別にコメントでもいいと思うんでコメントとあと日本語自然言語でここでこういう処理を書く」
「フレームワークでいうとだいたいコントローラーまず作ってその中にコメントでこういうことをやっていくっていうのを並べていく感じなんですかねそうですその通りです」

「チーム内で見やすいフォーマットを作るんだったら別にそれでもいいですし別にね多分日本語で書けばわかるっすよねまあわかるそれで書けないやり方は普通に設計できてないんでリファクタリングのきっかけになるはずですしねなるほどなるほど確かにこんなコメントアウトでこういうことやろうと思ってますっていうのが書けないってことですよね日本語で表せない表せない複雑なやり方になってしまってるっていうねはい」
「っていうのがまずコード書き始めの第一歩すごいこれフレッシュフレッシュ確かにすごいあーその手があったかとっていうので続きを進めていくんですがもうちょっと順平の出番終わりでもいいかなと思いつつ早っ実装進めていくんですよ進めてます実装するとき聞いとこ一応」
「実装し始めましたなんかルールみたいなのありますかルールというかポリシーというか実装始める才能実装の実装でコミュ力上げるためのコミュ力っていうのはちょっと抽象的ですけど質問良くなかったわ実装中のコミュちょっと意味合ってるか分かんないですけど大体質問するのでどこが分かんないのかここが原因なんじゃないかと思ってるんですけどとか」
「こういうことやってみましたけどとかっていうのは言えるようにして質問とかを投げようと思って投げてますがそのうまく言えないことは結構ありますなるほどね」
「それはでもやり方としては非常に正しいと思ってて俺の質問が悪いです何か期待したものではなかったじゃあ僕の質問の仕様がないのでお話ししちゃうと実装するときに他の開発者というかレビュアー結局今日の話ってレビュアーに負担をかけないように迅速にやろうというところレビュアーのためを思って開発するときに意識すべきこと」
「2点かな2点か1点なんですけどチームのコード規約を作って守ろうっていうのが大枠ですコード規約ってなんだかご存知ですか知ってるんだコード規約そうですね一応どの現場行っても読んでますね大体用意されてるところだった例えばとかって言えるようなやつ例えばですかJavaで言う」
「法文の書き方を拡張法文とかっていう1行で書くやつとかは簡単なんだけど読みづらくなるから使わないようにしようねとかあとちょっとあんま出てこないですけどすごいちゃんとしてるわ僕コード規約があるプロジェクトの方が僕は経験上少ないんですよ俺はあるべきだと思うんですけど思想強めなんでよくあるのはあの」
「なんだスタイルガイドこれのスタイルガイドに乗っ取ろうとか名名規則配列は複数形にしようと名文化してたりとかね暗黙の了解系を名文化してるのが多い気がするねそうね割とでも言語の標準みたいなやつを使うことが多いですかねなんか僕も」

「本当にスタイルガイド系ですよねそれに加えて色々あるものはあったりします本当に会社とか現場によってこれがあるとコードみんな同じようなのを書くんで読みやすいんですよ確かに認知負荷が下がるというか自由にしちゃうと自由なんで新しく入ってきた人がマジで究極1行でコード書けちゃうんでそんなことする奴いないですけどうんうんうん」
「あとそれ系だとね絶対にフォーマッター入れたいよねそれは人によるんですよマジかそれもコード規約的な部分になってくるんですかねフォーマッターってちなみに多分自動で直してくれるやつですよねそうです賛成派の意見は分かります強制できるから僕はどっちかっていうと反対派でなんで反対してるかっていうとフォーマッター入れると覚えれないからです自分で直したい」
「自分で直してフォーマッターとかしなくてもそのまんまスタイルガードに乗っ取ったコードを書けるようになりたいあーなるほどねっていう気持ちを持ち続けてます今ははいはいはいただフォーマッターの方が絶対効率いいし楽ですそうなんですよねなんかコミットとかにフックみたいな感じでそのコミットのタイミングでフォーマット書けるみたいなのをやりたいですねうんうんうんうんそれもわかるそれもわかるはいっていうのがまあ」
「そのコードをきれいに書くっていうところでチームのコード規約を作ろうが大きく一つです二つかなって言ったのはリンターの仕様と分けようかなっていうフォーマットというかスタイルガードの適用と分けようかなって迷って一個か二個って言いましたなるほどコードをそういう風にきれいに書いたらコミットですねコミットこれも意識してたけどなるほどって思ったのがコミット整理してプッシュしようって話なんですけど」
「コミットに流れが見えるようにという物語を書くようにコミットを書こうという起承転結起承転結いや分からん起承転結か分かんないけど開発した順だとやりたいことがバラバラだったり時系列というかなんだろうなこことここのコミットが繋がってるっていうのが隣り合ってなかったりして読みづらいというのがあると思うんで」
「レビュアーはやっぱり変更が多い時ってコミットごとに分けて読んだりするんですよここのコミット例えばログインだと正常系の実装をするためにここ作ったんだなみたいなねっていう風にコミット分けて読みたいのでそういうのが伝わるようにコミットをメッセージを作ろうとあなたは日本語を書くとき文章を適当に書いた後にちゃんと整理しますよねとコミットメッセージも一緒ですとコミットも一緒ですと」
「なるほどねそこをどういう風に選び替えるかは職人技なので意識しようとしか言えないと思いますこの本の中でコミットを入れ替えるためのコマンドをめちゃめちゃいっぱい書いてたんですけどマジでそんなことを下手したらコミットぶっ壊すんでコミットを入れ替える入れ替えると書いてましたそうなんだそんなことできるんだと思って確かにな」
「でもねよくあるのはなんか手元でリセットする分にはあんまり問題起きないじゃないですかなんで僕はなんかこう全部まとめて作業した後に関係あるやつをまとめてコミットすることが多いんですけどまとめるファイル1個忘れたりとかしてだりーってなる時ありますねそういうのありますよねそんなにいじりすぎるのは良くないかなと僕は思いますトラブルんで」

「見やすくコミットしようは意識した方がいい確かにちなみにってことは最初からコミットしてそこの次にコメントアウトとかでやろうとしてることとかの共有をしますっていうのの」
「やりとりがもしかしたら何回もあったりするかもっていうのをまとめたりとかっていうのも言ってるんですかコミットごちゃごちゃするときもあるなと思って確かに確かに実際に書くまではある程度まとまってるんじゃない修正しましたっていう例えば最初にさ擬似コードプログラミングで使用最初ナンバーワンが出てバージョン1の」
「詩を出しましたってここ変えた方がいいって言われてバージョン2になってってなった時にその元々の1なかったことにした方がいいんじゃないみたいな話いいだよねはいそうです分かるどうなんだろうなでもあれレビューしてる時に確かになんかじゃあちょっと今回ボリューム多いから後ろから見ていこうってなった時にこの最初の方に見たコミットを上書きしてるコミットとか見つけてあー脳のキャパがってなる時はあるあるそれは確かにそうだねうわさっきの見なくてよかったやんとかねうん」
「理想言うと消すべきなんだろうねだからそう言うとそれで言うとね確かにめんどくさいよねやれる気はしないきついねきついけど消すのが優しいんだろうね多分議論した記録は残しておく必要ないよねどっちがいいんだろうねでもプルリクには残ってるじゃないですか多分」
「プルリクはもう最終形態しか残んないんじゃないプルリクのコメントに残ってるじゃないですかその議論はコミットのそっちのかコードに対するコメントってことかそうですそうです最初に作ったドキュメントをアップデートするときってプルリク上でディスカッションすべきじゃないですか確かに少なくとも結論とか背景はプルリクのコメントにつくべきなんで」
「最悪コミットなくてもそっから終えるからいいんじゃないって気持ちになっちゃいますねうんうんうんうんうんうん確かにだから本当は消した方がいいんだけど本当はねって感じうんうんめんどくさいしちょっと怖いですね僕はうんわかる確かにねそんな気持ちになっちゃうわギッとちょいちょいミスるんで僕おーそうなんだはい」
「もうないわあんまり俺もさすがに今はないなっていうのでちょっとまあそういうのがコミットでしたとはいありがとうございますもうちょっとあるのでうんうん考えますねはいで次プルリクプルリクはいこれもまあ意識すべきことはあってプルリクテンプレートを作ろうですねあーはいはいはいプルリクテンプレートありました?なんか現場でやってる時とか」
「現場はプルリクなかったんですけど現場はプルリクなかったんですけど現場はプルリクなかったんですけど本社戻ってきてからはプロジェクトによってはありましたね大事ですね僕は今はプルリクですよねテンプレートです今の現場はテンプレートが自動生成されるようになっていて」

「そこに必要情報を埋め込んでいくみたいな感じになってますプルリクテンプレートって使ったことない人は馴染みない気がしていて僕がやってた時とか何書いてたかというとプルリクに関連してるチケットのリンクとか目的とか動作確認方法」
「これクローンしてこのコードを実行すると単体テストもあるよみたいなあとはレビュー観点こういうとこ気になってますとかあと機能の根幹となるところこういうとこ見てくださいとかあとはこういう悩みあるんですけどもっといいやり方ないですかねみたいなそういうのを書いてたりしましたほぼ同じですそんなもんですよねきっと」
「これをやることによって何も書いてないプルリクって何見りゃええねんってなるんでコードからしか読めてないのって結構しんどいんですよなのでレビューする人のことを考えてこういうプルリクテンプレートを用意してあげて誰でも必要な情報を書けるプルリクをできる環境にすると円滑に進むよねっていうプルリクテンプレートのお話ですねなるほど確かに特にどこが自信ないか分かるとレビューしやすいなと思いますねマジでそれ全部気にするのは無理ですからね」
「っていうのでちょっと今レビューの話が出たんで次最後レビュー順平がなかなか触れてないんじゃないかという領域なのでポンポン話していくんですけどそもそもですよコードレビューって何のためにやると思いますかやっぱり何も知らない後輩をボコボコにして気持ちよくなるためにあるんじゃないかなと思いますコードマウントコードマウントですね順平のイメージはコードレビューは」
「まあまあシステムがうまく動くようにするためにあるものと思いますそういう意見が多いかなと思います僕も僕もそう思います一方ですねこの書籍何て書いてたかとまさかそんなバカな何の予想しとんねんまさかこの書籍ではソースコードを共有所有物にするもの」
「だと言っています非常にそれはごもっともらったと僕は思っていてどういうことかというとまず共同の所有物とはなんだというとリポジトリのどの箇所もチーム全員が断ることなく無理って言わないで修正できるそんな状態を作るコード全体に対する責任を全員が負える状況を作るそのためにコードレビューがあるんです」
「ハネムーンナンバーだそういう話ですねスクラムというかアジャイルは結局全員フルスタックが最強なんで理想なんでそれを目指すというところでも先ほどじゅんぺいが言ってた一部のニュアンスに含まれるかもしれないんですけど書籍からそのまま引用しますね目を皿のようにしてロジックを調べバグがないかを確認するそんなようなコードレビューをする人がいるがコードレビューでバグを見つけることはコストがかかる難しい作業です」
「バグがないかを確認したいのであればテストコードをきちんと書くべきですとこれはマジでごもっともでグサーなるほどそうなんですよバグを見るバグがないか動くか動かないかを見るのはコードレビューじゃないとテストコードだとグサー」

「グサですよねチーでたチーでた大丈夫大丈夫のりさんこの後もうちょっとパンチラインがありますマジかチシリョウ予告されたっていうのでねこれは非常にその通りだと思うのでぜひぜひそういう行動レビューをするとねそういう行動レビューができると生産性の高いエンジニアチームになれるなとも思いますしうんうん」
「だからそれゆえ技術に詳しい人だけがレビューするものでもないんですよリーダーとか管理者とかにコードレビューが集中するのは良くないですそれは目的を見失ってます共同所有物になってないとなのでコードレビューのアサインとか工夫する必要がありますそれでいうと僕前やってた時は」
「一部の人に偏るってことはしてなかったのですがただ全員が全部見るっていうのはちょっと叶えられないというかちょっとしんどいなと思ってたのでなんか間を取って例えばですけど7人で関わってたらコードを2分割して半分からこっちはこの3人半分からこっちはこの4人でレビューし合うみたいな」
「その中の4人3人はなんとなく暇そうな人こいつなんか角空いてるやろっていう人にとりあえずアサインして見るみたいな感じで全部を全員で見るのはできなかったんですけどそういう形でレビューが集中しないようにやってました」
「そういうことかもうレビューレビューはもう一人じゃなくて1個のプロリーグに対しても全員で見るよぐらいの気持ちってことですかこれそういうわけではなくてローテーションするぐらいでいいと思いますやり方として全員やるっていうのもいいんですけどただそれはトレードオフで時間かかるんで時間かかるっていうのはレビューする側も時間かかりますしレビューされる」
「までも時間かかるんですかアプローブされるまでも時間かかっちゃう確かにそれを許容できるんだったら全員見るべきなんですけど許容できないことがほとんどだと思うので確かにちょうどいい塩梅見つけてやってねっていうところが書いてましたなるほどなるほどっていうのでレビューもね個人攻撃にならないようにやりましょうとかですねあとはできればですねその」
「設計こうやった方がいいんじゃないとか書き方こっちの方がいいんじゃないとかこの書き方めっちゃええやんとかそういう動作仕様サービス仕様というか要件というかそういう低い次元の話じゃなくてなんか行動より良くしようとかお互いのスキルを上げようみたいなベクトルでレビューできると良いよねというところではありますねオールフォーワンオールフォーワン?ワンフォーオール」
「多分合ってるオルゴー1っていうのがレビューのお話でしたがここだけ脱線して気になった記述があったんで紹介します結構ストロングスタイルだなと思った記述だったんで紹介したいんですけど一つの説なんですけどコードレビューでコメントが思いつかない状態を乗り越えるという説があって」

「コードレビューでコメントが思いつかない状態を乗り越えるつまりコードレビューでコメントできないっていう人に対する説一定数プルリクエストのコメントが思いつけませんっていう人がいますとこれはあるあるなんじゃないかなとちょっと僕は思っています」
「それこそねエンジニア始めたての人とかあとは例えば新しいチームに移動したばっかりで技術や知識ドメイン知識がないみたいなねなんか言えることないなみたいなねこれはもうコードレビューに限らず打ち合わせとかでもあるんじゃないかなという風に思うんですけどはいはい」
「よくある要因としてはさっき言ったようにチーム移動したばっかとか技術のドメイン知識がないっていう風なものが考えられるなっていうのがあったり多分その人もそう言うだろうなと思うんですけどこの本ではとはいえそういうやつでも3ヶ月とか経ってもコメントできないやつはいるとそういうやつらはさっきの理由はあくまで表向きの理由だと」
「実際には自信がない指摘を返されるのが怖い自分のスキル不足を知られるのが怖いという背景があるのではないでしょうかぐさーなるほどね今度はそっちにぐさー今度はそっちに刺さってるっていうことが書いててなるほどねじゃあどうすればいいのか質問することで学ぶ姿勢を持ちましょうコメントで質問するってことですかここなんでこうなってるんですかみたいなそうそうそう」
「そうですそうですコメントもいいしあとは普段の業務とかもそうなんですけど間違えても受け入れてくれる環境であることを信じて自分のスキル不足を知られてしまうという恐れを乗り越えて積極的に質問しましょうとそうすることで早くフィードバックと学びを得ることができますおおー」
「無知の地だ早期にフィードバックを受ける方が本人の成長にとってもチームや会社にとってもいいはずですっていうことが書いててここはですね僕も再びさっきと同じことを言いますけどこれがアジャイルなんですよこれがアジャイルなんだ早く失敗するためのそういうことねとんでもない失敗返しが来るかもしれないんですよこのままあなたが伸びないと本当だよ」
「グサーグサーチーズ入ってるやばいもう両腕ないというので早めに失敗するっていう精神は多分これはチームもですし会社もですし個人にも適応できるという僕はアジャイル信者なんですがなるほどねこれも同じことが言えるなと多層アジャイルだそうなんですよねあとはもう一方はいもう一方さっきのパターンじゃない人精神的な不安や恐れがなくてもレビューコメントができない場合がありますほう」
「そういう人もいると思いますその人に対しても通列なことを言っていますなんだこっちかもしかしてそんな予感それはわかんないですけど書いてたのが筆者はそういう人はいい設計やいい実装について考える習慣がないためであると考えていますという風に書いててセーフそういう人は次の特徴があります昔ながらの行動ベースでどこに何の書類を書くか置くかが決まっている」

「ぐっさーあれそっち行ったそっち行ったーぐっさーちょっとぐさー」
「これもすごいこと言ってまあその通りなんですけどストロングスタイルというかまあその通りなんですけどすごいねボコボコにしにくねなんか獅子もげましたわグーでグーで多分筆取ってますこれはすごいね筆者の怒りが伝わってくるなんか感情見えるもんねそう過去に何かあったんだろうあったんでしょうね」
「そういう人に対しての救いとしてコードレビューではちゃんとした指摘をするまでいかなくても貢献する方法はあるんですなんかもやもやしてるところを共有するとか質問するっていうことを通じてそのやりとりから何か新しいアイデアが生まれることはあるそれでアイデアが生まれたらちゃんと貢献してるってことなんだからまずは」
「情報発信というか発言というか自分がいる意味を発揮していきましょうというのがこのさっきの最初のコードレビューでコメントが思いつかない状態を乗り越えるという説に多分ググで書いてましたなんか全部好奇心なのかなってちょっと思いましたねと言いますと例えばさっきの言い返されるのが怖いとかっていうのも」
「でもこれを知りたいっていう気持ちが勝てば何か言えるんじゃないかなっていうのもありますしまあそうですね逆にその設計に興味ないっていうのはそれは好奇心のちょっと欠如してる部分なのかなっていうのがあるんで結構好奇心あったらやっぱエンジニアに好奇心ある人向いてるんじゃないかなってちょっと思いましたねそれはそうですね確かにそれはあります」
「っていうのがレビューのお話でしたざっくりまとめを言うと僕が刺激を受けたポイントとしてはまずカラプルリクですねカラプルねカラコミからのカラプルこれフレッシュ非常に斬新あとはカラの擬似コードプログラミングですね擬似PPPだカラプルリクないと意味ないねこれは脳の整理にはいいかもしれないですけどね」
「でそこからのコードレビューだコードレビューの目的はあくまで共同所有物にするためのものですテストがないとテストがないコードはバグがないと証明できませんとそこまでは言ってないですけどねコードは公演だ公演」
「共同所有物分かりづらいいこと言っちゃったな全然分かんなかったすいませんね個人的に誘ったので共有したいなというところでその周りのコードの書き方みたいなところもついでにお話ししたエピソードでした個人的にバグはテストで見つけろがブッシャーってなりましたなし汁じゃん乗り汁出ちゃいました乗り汁出たーマジで」

「確かにって思ったわごもっともなんですよねしかもちょうど今やってるプロジェクト」
「まさしくそのコードレビューでバグを発見しようとしてたんでそのプロジェクト別にテストコードあるんですよだったらテストコードだって今ちょっとね思いましたテストケースちゃんと見る必要がありますけどテストケースを見るべきですもんね本当はねそうそうそうそうちょっと聞いてる人もねどこかのエピソードというかどこかのティップスを聞いてブシャーってなってればいいなと思ってるんで」
「ピンク」
「やってみようかな試しにやってみるのいいかもね俺もやったことないけどちょっと言ってみよう情緒の人にこんな感じで共有していってもいいですか使用相談するにしても叩き台があった方が議論ってしやすいしねプルリクエストがあると議論残しやすいからね資料とか議事録よりもプルリクの方がソースコードにひも付いて残っていくから後から見やすいので活用していきましょう」
「弟者それメンバーから言われたらすごい嬉しいかもしれない兄者嬉しい弟者ね兄者うわっ兄者こいつちゃんとこういうとこにアンテナ張って兄者でなおかつ品質上げようとしてくれてる弟者そうそうそうそうそう兄者神みたいなね弟者しかもレビューしやすーってなる兄者なる兄者緊張するー弟者なんで?兄者なんで?弟者緊張すんなー弟者ちょっとどうなったか後で裏で聞くわじゃあ兄者うん」
「時間結構いい感じなんでこのまま締めますねではハッシュタグひまじんプログラマーでSNSNEXTに行ってフィードバック募集してますのでシルが吹き出た報告をお待ちしておりますお待ちしてますあとは説明欄からGoogleフォームに飛べるのでそこでお便りですね質問要望等何でもお待ちしてますのでお願いしますどんな質問でもいいんですよ」
「何でも受け止めます受け止めるのは確かにそうねというわけで今日はアジャイルプラクティスガイドブックからお話ししましたいやー刺さりましたこの本もまずまだちょっとこすりしろあるんで多少こすっていきますね結構読みやすそうな本のイメージありますけどねめっちゃ読みやすいめっちゃ喋りやすいしかも喋りやすい」
「視点が違うけど視点違いますけどねお楽しみにバイバイ初めて触ったMacBook思い出がいっぱいのチーム開発再起動したら治った謎のバグ僕たち私たちは卒業します駆け出しエンジニアを卒業したいあなたへ」

「ひまじんプログラマーの週末エンジニアリングレッスン各種ポッドキャストで配信中」