言うべきことを言わないことは、優しさではない
プログラミングの世界では、「レビュー」が重要視されている。
ミスやバグが原因で、セキュリティー上の重要な問題が発生したり、お金の計算が合わなくなったりすることもあるからだ。
加えて、ソースコードの美しさや読みやすさに関するチェックも行う必要がある。美しく設計されたコードは再利用性が高く、そうではないコードは変化に弱く、応用が利かない。さらに読みやすさは、チームのレベルも加味しながらチェックする必要がある。
ところが、この「レビュー」には問題がある。それは、相手を傷つけてしまうことだ。プログラマーはみな、自分の自信作のソースコードのことで、他人からとやかく言われたくないのだ。
例えば料理を作ったときに、食べている人がその料理のダメなポイントを列挙し始めたらどんな気持ちになるだろうか。みな嫌な気持ちになるだろう。自分が丁寧に作り上げた作品に文句を言われたくないのだ。
「相手を傷つけてしまう」ことを重く見て、それを回避するために「あえて言わない」人もいる。こうした「言わない優しさ」は美徳として受け止められる場合もあるかもしれないが、レビューの際には持ち出してはいけない。後に問題が発覚したとき「なぜレビューで見抜けなかったのか?」と、レビュアーに返ってくるからだ。場合によってはレビューされた人から「どうして言ってくれなかったの!」と詰め寄られることもある。
「ここがちょっと、ピヨピヨしてるね」
レビューの難しさは、「言わなければならないこと」と「傷つけないようにすること」の2つを両立させなければならない点にある。
レビューの難しさとどう向き合っていくべきなのかを協議した結果、私たちは「ひよコード」という表現を発明した。
未熟で修正の必要があるソースコードに直面したとき、「なにこのクソコード」とは決して言わず、その代わりに「少しここがひよコードだね」「この箇所が少しピヨピヨしてるね」とコメントする。
ひよコードとは、「ひよこ」と「コード」(ソースコードの略)をかけ合わせた言葉だ。ひよこはかわいらしく人から愛される生き物だ。そしてこれから成長していくことを暗黙のうちに期待されている。
つまり、伸び代しかないということだ。だからネガティブなことを言わざるを得ないとき、精いっぱいの愛情を込めて「ひよコードだね」と伝えるのだ。