しゅみは人間の分析です

いらんことばかり考えます

週報 2022/02/06 コードレビューはコミットを新しい順に読むとわかりやすい説, アファンタジア被験者に応募した

近況

ワクチン接種3回目

近所の病院でモデルナが捨てるほど余っていると聞いたので打ちに行った。ワクチンを捨てるなんてとんでもないことだ。手元にはまだ接種券が来ていなかったが、2回目の接種証明書があれば打てるそうなので打つことにした。そういえば1回目と2回目もこうやって急に決まった気がする。

前回はファイザーだったのだが今回はモデルナになった。副反応がきついという噂は聞いていたのでしっかり準備をしたが、それでもつらい思いをした。一番つらかったのは悪寒で眠れなかったことだ。手足は冷え体は震えていたのに、頭は半分寝ているので対処ができない。そのまま数時間過ごしたのちに、なんとか起き上がってたくさん着込んだり薬を飲んだりしたら、やっと眠れた。

熱は最高で38.2度ぐらいまで上昇したが、熱が上がってからは割と楽だった。大事なのはしっかり食べてしっかり寝ることだと思う。我々の体は物理法則に従っており、熱を出したり免疫システムを動かすにはエネルギーがいる。なのでワクチンを接種したら多めに食べておくのがよい。発熱して以降も熱が続く限りたくさん食べる。レトルトカレーとご飯が手軽でよかった。

木曜日の夕方に接種して、金曜日の夜には熱が引いていたのだが、体のだるさや頭痛は土曜日まで続いていた。日曜日も急に冷え込んだことで、落ち込んでいた体調が大打撃を受けた。私はファイザー2回目でも大して発熱をしなくて甘く見ていたのだが、モデルナの3回目はきつかった。

労働

ワクチン接種で倒れることが分かっていたので、稼働日3日で進捗を出せるように奮闘した。設計上の難問があり、私の頭も混乱していたのだがシーケンス図を作って整理したら何とかなった。PlantUMLはえらい。

読書

読んだ

アファンタジア: アファンタジアユーザーコミュニティでインタビューをしまくった本。英語版を読んでいたのであまり新鮮さはなかった。アファンタジアがどういう人たちかを知るには良い本だと思う。

僕はなぜ小屋で暮らすようになったか: 雑木林に土地を買って小屋を建てて暮らしている人が、なぜそうなったのかを語った本。読みやすくて面白かった。とにかく人生が辛そうである。

読んでる

日本語とはどういう言語か

認知心理学放送大学の教科書)

うつ病九段

論理哲学論考

雑記

コードレビューはコミットを新しい順に読むとわかりやすい説

私の仕事の半分くらいはコードレビューなのだが、いつもそれなりに苦労して読み、わからんけどこうじゃないですかみたいなコメントをしている。どうしてもコードを書いた人が一番理解していて、レビュワーが短時間で同じレベルの理解に至るのは難しい。とはいえ変なコードやバグが素通りしてしまうとまずいので、それなりの真剣さでコードレビューをする。

一般にコードを読むときに大事なのは、全体構造を把握することである。ソースコードというものは依存関係が張り巡らされていて、エントリーポイントを根とする木構造ができている。自分でコードを書くときは、この木構造を把握してコードを挿入したり消したりする。だがレビュワー視点で、差分としてコードを読むと、その差分が全体の木構造のどこに位置するものなのか分かりにくいことがある。コードレビューをする時に差分だけでなくソースコード全体を見るようにしたら良いのはそうなのだが、すでに業務の半分くらいをコードレビューに費やしているので、楽にレビューができるのならそれに越したことはない。

差分の情報だけで全体像を把握するにはどうしたらよいだろうか。これはコーディングのスタイルにもよるので一般的に使えるわけではないのだが、コミットを新しい順に読んでいくと全体像が掴みやすいと思う。というのも素朴にやると、まず最初に部品を作り、いくつか部品を組み合わせて最終的な機能を実装するという流れになりがちだからだ。つまり、もっとも抽象度の高いコードは最後の方のコミットに集まっているはず、という仮説を考えている。

もちろん人によっては最初に抽象度の高いコードをコミットするかもしれない。しかし、この組み方をすると実装中にビルドが通らなくなるはずだ。コミット単位でビルドが通るように実装すると、小さい機能のコミットが並んで最後に機能を呼び出すコミットができる。もちろんプルリクエスト単位でビルドが通ればよくて途中のコミットでビルドが通らなくてもよい、という考え方はあるし、実際に私もそうする事はある。

いずれにせよ、全体像を把握するための抽象度の高いコミットは先頭か末尾のどちらかにはあるだろう、ということは主張できる。ある程度熟練したソフトウェアエンジニアならば大抵成り立つ話だと思う。

アファンタジア被験者に応募した

アファンタジアはつい最近発見された認知特性なのであまり研究が進んでいない。日本のアファンタジア研究者である、福島大学の髙橋先生が被験者を募集していたので、応募してみることにした。メールのやり取りののち、心理学っぽい調査票に回答することになった。調査票は選択式のイメージの鮮明さを尋ねる質問と、自由記述のエピソードを書く欄があった。イメージの鮮明さは視覚だけでなく五感と体性感覚(運動しているときの身体の感覚のことです。詳しくは調べてください)も対象らしい。そうなのだ、アファンタジアは視覚以外の感覚も脳内再生ができないことがある。私には分からないのだが、普通の人は、階段を駆け上がる感じも脳内再生できるらしい。質問に答えていくうちに、私はほとんどの感覚で脳内再生ができないことがわかった。

唯一、微かにあるのが聴覚だ。ピアノをやっていたからなのか、何度も聞いている曲のフレーズは脳内で再生ができる。しかし他人がしゃべった声と内容を覚えておいて再生することはできない。

普通の人は他人の声を脳内再生できると聞いてから、普通の認知は幻聴と地続きなところにあるのだ、と思っている。人によっては他人の声を沢山覚えることができるため、幻聴がたくさん聞こえて辛かろうなと思った。アファンタジアの研究が進むことで有害な脳内再生を抑制する方法が見つかるとよいと思う。

調査票に答えたら先生からフィードバックを頂いて一旦やり取りは終わった。今後用事があったら被験者として用いてもらう予定である。心理学や認知科学に関わる研究ではfMRIを使うことがある。ものすごい威力の磁場を使い頭の血流を計測するのだ。脳のどこに血が集まっているのかを高精度に測定できる。面白そうなので、そのうちfMRIで計測されながら実験をされたいなと思っている。実現するかどうかは知らない。