はじめに
最初に書いておきますが、この記事からは何も知見は得られません。
フロントエンドエンジニア歴2年の新米です。これはプロダクトコードに半分はギャグで、半分は真面目に顔文字をコードの一部に導入したときの話です。2024年現在もこのコードは異常なく動いています。
経緯
ある日バグレポートがあがってきて、その原因はフロントエンドで定義して利用していたセパレータ(アンダースコア2つ__
)とバックエンドから返してきているフィールドのセパレータ(アンダースコア2つ__
)とのコンフリクトでした。
そこでシニアエンジニアに雑談がてら相談しました。すると「確かに __
は簡単すぎるよね~、うーん、どうしよっか。。。?顔文字にでもしてみる?w」と言われました。
日々の業務に退屈していた私は「あー、いいですね!!コンフリクトも起きなさそうですしね!」と返事し、(この時点でQiitaに書けるぞ~と邪な考えもしながら)どの顔文字を採用するか検討を始めました。
*私もシニアの方もセパレータとして、もう少し複雑にすれば(例えば __**__
)充分だと理解しています。
顔文字の条件
さっそくGoogleで顔文字を検索しました。すると非常にたくさんの顔文字が出てきます。ただ条件は主に以下です。
- 半角のみで構成されている
- ωや∀などコード内に入れて問題ないか微妙な文字を使っていない。
- 複雑すぎない
- かわいい(見ていてムカつかない)
これらの条件でしばらく探しており、疲れたころに見つけたのがタイトルにある(*^-^)です。
今見てもかわいいですね。
結論
変更自体は簡単でフロントエンドで定義しているセパレータを(*^-^)に置換するだけです。
バグも問題なく修正が確認されissueはクローズされました。
*Github issueにコミットのコメントが表示されて、PMとか偉い人が見れちゃうのでコミットコメントには “fix separator”とだけ書きました。
余談
PRには大真面目に「既存のセパレータはアンダースコアが2つ連続したものと定義されており、これがバックエンドからのレスポンスのフィールドとコンフリクトを起こすケースがある。このPRではフロントエンドで定義しているセパレータをよりロバスト( 堅牢)なものに修正する」と書きました。
あと裏では相談したシニアに「ホントに顔文字にしたんだ。。。」と若干引かれて、(お前がはじめた物語ちゃうんかい!?)と思ったりもしました。
以上です。