はじめに
現在私は、全くの未経験からプログラミングを学び始めて1年が過ぎたところにいます。
今回、あるxmlファイルのCompose化をペアプロで対応させていただけることになったのですが、ドライバーではなく指示する側のナビゲーターを行うことになった際、経験が浅い私のような人がどのようにしてナビゲーターを行ったのか(教わったのか)、紹介したいと思います。
実装する前に行ったこと
①設計を行う
コードを書く前に、miroのボードを使ってxmlをComposeでどのように組み立てていくか、あーだこーだ話し合いながら図に起こしました。
②ナビする側の手順を確認
上記がある程度完成したら、ナビする側の手順を確認しました。
たとえば
「ComposeをかけるようにするにはまずComposable関数を作成しなきゃね」とか
「今回のはAbstractComposeViewなのかComposeViewなのかとかも確認しておこう」とか
「ある程度どんな風に反映されているか確認したいからPreviewも書かないとね」とか
「それらが準備できたらさっきのxmlの中身をcomposeにしたやつを埋めてみよう」とかとか・・・
わからなくてテンパってしまう私にとってはこのくらい細かい確認をしてもらえてすごくありがたかったです。
いざ実装してみて
設計した図を確認しながらナビゲーション(私)が少しずつコードを読み上げ、ドライバーの方はそれに従い記述していきました。
結果的には、上記のように設計や確認をしっかりめにやったつもりではありましたが、やはり一発では想定通りのレイアウトにはならず、xmlと見た目が変わってしまいました。
しかし、実は前回設計などは全くせずにペアプロを行ったことがあり、少なくともその時よりは形になっていました!
なんなら私がナビなのに全然ナビできなくて泣きたくなったのを覚えていますが、今回事前に設計したことや細かい事前準備のおかげですこ〜〜〜しですがナビができました🥲
ほんの些細なことですが、ナビをやるとなった際に何をどう指示したら良いのか、何からやれば良いのか訳がわからなかったことが事前に設計することでドライバーとの認識が揃い、なんといっても自身の頭の中が整理され非常にやりやすく感じました。
振り返りを行う
紆余曲折ありつつもマージできた後に、設計したものに対しどうだったかしっかり振り返りも行いました。
実装する前に書いた設計の右隣に実際の実装を書き、注意する点や今回学んだことなどをメモしたりして、今後のペアプロに活かせるように残しました。
実際に次にペアプロした時に、振り返り時に残した図やメモを参考にすることができ、時間短縮にもつながったと思います。
まとめ
▼ペアプロでナビゲーターをやる際に行った方がいいこと
実装前にドライバーと一緒に設計を行い認識を合わせる
ナビする側の手順を細かく確認しておく
設計と結果を比較し細かな振り返りを行う
感想
今回ペアプロ(ナビ)を行うことになった際に上記で記述してきた、設計〜振り返りまでを行い超未熟な私としては順を追って細かく説明をしてもらい、いつも思う"わからないことがわからない"という状態が少なくなった感じがしました。
尚且つ言葉だけではなく、図に起こすことで頭の中で理解がしやすかったです。
今回の経験から、しっかりと設計〜振り返りを行いお互いの認識の相違がなくなることで時間短縮にもつながり非常に学びにもなりました。
主観ですが、ペアプロやモブプロ関係なく全てにおいて一見回り道のように感じますが、設計〜振り返りまでを行うことがスムーズに実装できる近道なのかもなぁと感じました。