hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

月曜から禁酒していて,土曜日まで続いている.

天ぷら屋でノンアルコールビールを飲んだり,びっくりドンキーで黒ノンアルコールビールを飲んだり,ファミコンバーでプレミアムノンアルコールビールを飲んだり,家でライム味ノンアルコールビールを飲んだり,いろんなところでいろんなものを飲んでいる.以前はそのたびにビール飲みまくってたのかと考えると,飲酒可能な機会が多すぎる.酒を売ると金が儲かるなら,酒を売るしかない.しかも合法なので,成人に対しては際限なく販売できる.

酒飲んでないと,冷静に酒飲んでる人の様子を観察することができて,見てると,突然異常な行動をしたり,グラスをひっくり返したり,自らひっくり返ったりしていて,そんなことをしたいか,と聞かれると,普通に考えるとそんなことはなさそう.こないだ,LSDをキメながらIKEAの家具を組み立てる動画を観てたけど,それを観て仲間に加わりたいかというと,そんなことはない.

https://www.instagram.com/p/BU2BZ87F7p-/

ビールではありません

手中で回すやつ

手中で回して握力を鍛えられるやつを買った.これは同僚が両手で回している様子.

Instagram
うまく回すとだんだん加速していって遠心力で握力を鍛えられる.この動画を見る限りでは何がたのしいのか…って感じだけど,やってみるとめちゃくちゃたのしい.何がたのしいのかは分からないけどたのしい.おもしろくて,定時後にオフィスでずっとやってたり,家でわりとずっとやってたりする.

ヒカキンTVでも紹介されていて人気のグッズ.
www.youtube.com

僕が買ったのはこれ.2500円くらい.
紐を引いてスタートするのと,チョロQよろしくバネ的な力でスタートするのがあって,紐いらないやつにした.同僚は紐いるやつを買ってて,始めるのにコツがいる.
2個買うと10%オフらしいので2個買いましょう.

コードレビューのクオリティとスピード,とくにスピードについて,それとコミュニケーションについて

ソフトウェアを作るときにクオリティとスピードのバランスをとりたくて,どちらかに偏ってはいけなく,どちらもキープしないといけない.すごく雑に*1とらえると,

  • クオリティ→正しく動き,不具合がないほうがよい
  • スピード→(計算時間ではなく)早く作れるほうがよい

ということになる.

コードレビューでは,不具合を見つけて直してもらったり,動きはしてもコードの可読性に問題があって直してもらったりと,クオリティに目を向けられがちだと思う.

ところで,コードレビューとスピードの関わりについて考えてみる.スピードのためにできることはいくつかあり,

  • 早く読み始める→他のことやってても手を止めて読み始めたり,1日のうち決まった時間にレビュータイムを設けたり
  • 速く読む→これはコツとかある*2けど精読しないといけないので難しい
  • 不具合を見逃さない→リリース後とか,リリース直前に正しく動かないことが分かったら大きな手戻りになり,そのpull requestは早く出せてもその後ロスタイムになる
  • 早く収束させる→何度もコードの改修を含むやりとりをしていては時間がかかるので,少なく正確な回数のやりとりでマージできるよう努める

とくに最後に書いた,やりとりの回数のことが言いたかった.修正箇所を指摘して,直してもらったあとに,再度修正箇所を指摘するとしたら,実装者のミスというよりかは,実装者とレビュワーのチームプレイのミスで,コミュニケーションに失敗しているのではないか.
GitHubのコメント欄でのやりとりだと,送信コストが低いので,「直してみました,こんな感じですか?」「そんな感じよりは,むしろ…」みたいに低コストなコミュニケーションが始まってしまい,いつまでも話が続いたり,コードをこねくり回してはや数日が経ってしまったりする.
完成版の完璧なイメージができて,そのイメージにお互い合意をとれてから修正を始めるべきで,そのためにはコメントで書きつつも,議論を収束するためには口頭で話したりしたほうがよさそう.
うまくいけば,コードを書き始めてから完成までに見てもらうのは初回と修正後の2回までに抑えられるはず.

大きなコードのレビューを1回の修正で収束させるのは難しい.小さいpull requestを少しずつ送ると,一度で収束するサイクルを導入しやすくなる.
個人的には,大きめの物を作るときにも,1日1個ずつくらいの粒度でpull requestを送って,その日のうちに収束させてマージして少しずつ出していくようにしている.昼にレビュータイムがあるので,それに合わせるために午前中にコードを仕上げてレビュー依頼して,午後に見てもらって,ちょっと直したりして,夕方までにリリースして,リリースが終わったら次の昼までのpull requestを準備する.最速のスプリントが1日で回っているようなイメージ.
いきなり動かないUIが本番環境にリリースされては困るので,順番は工夫してうまくやるのだけど,それは別の話なので今度紹介したい.

チームでの協調を意識したコミュニケーションについてはこの本が参考になると思う.チームといっても,開発チーム,とか,会社,みたいな明示的な大きなものから,実装者とレビュワー,みたいな,その場で組み立てられて役目を終えたら即座に解散するようなものまである.

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

*1:厳密にはISO/IEC 9126とか見るとよい

*2:以前書きました:コードレビュー - hitode909の日記

びっくりドンキーの思い出

同僚とびっくりドンキーに行った.黒ビールのアルコール入ってないやつを飲んだ.普通に甘みがあると思ったところ,カロリーは0ではなく,76キロカロリーということだった.

びっくりドンキーはディズニーシーみたいな過剰な装飾が施されているのが良い.

www.bikkuri-donkey.com

https://www.instagram.com/p/BUwYhxAlc0W/

びっくりドンキーでスタウトフリーとフライドポテト注文して禁酒成功

スライダーを並べてお絵描きする

チェックボックスの他になんか動きそうなものあるか考えたときに,スライダーは稼動部分が多くてよさそうと思ったのでやってみた.

f:id:hitode909:20170601082916g:plain

きのうのコードを大体再利用できたけど,コンポーネントを完全に再利用したというわけではなく,適当に互換性ない形で書き換えたりした.

https://hitode909.github.io/sketch20170531/

オールフリーライムショットの思い出

オールフリーのライム風味のやつを飲んだ.コロナからアルコールを抜いたやつみたいな味がしておいしい.1本買ってみたらよかったので6本くらい買い足したい.

ノンアルコールビールというと,日本的な,スーパードライ的なリアリティが追究されているけど,僕はヒューガルデンとか,なんか適当に混ざったやつも好き(ヒューガルデンはオレンジピールが入ってて日本では発泡酒扱いになっている)で,ノンアルコールでビールっぽくなくても炭酸が入っててなんか味がしてて甘くなければなんでもよさそうな気もする.

ラーメンは10分くらいで完成して,ねぎは刻んであるやつ買ってきたら包丁いらなくて便利だった.玉子はもうちょっと半熟なイメージだったけどおでんの玉子並にしっかり固まっていた.コーンはパックのサラダに入ってたやつ.焼豚は週末に作ったやつ.

https://www.instagram.com/p/BUt_xc_FsYm/

ラーメン食べて禁酒成功、コロナみたいな味のライム風味オールフリーうまい