🐡

同じ結果をもたらすものであっても、コードの意図が通じる方で書く

2022/11/04に公開

概要

コードには意図を込めるべきというのはコードを書く上での前提条件だ。
同じ事ができる記法が複数あるのであれば、意味が通じやすい記述を選択するべき。

たとえばキャストには言語によって複数の方法が用意されている。

具体的なコード

😥良くない例

PHP

!!'test';

TypeScript

!!'test'
二重否定によってbooleanにキャストできるわけだが、これだと処理的で意図が通じにくい。
「二重否定しているということは。。。」と考える手間がかかってしまっている。

☺️良い例

PHP

(bool) test

TypeScript

Boolean('test')

booleanへの変換用の関数を使用することによって、「booleanのキャスト関数を呼んだということは、booleanのキャストがしたいのだ」(進次郎風
と読み手がコードの意図を把握しやすくなる。

他にも良い例に出会えたら追記する予定である。

JSのキャストに関する注意点

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Boolean

TS(JS)のキャストの場合にはnew Booleanは使用しないように、という記述がドキュメントにある。
引数にfalseとってインスタンス作ってもtrueを持ってしまうそうだ。
Boolean()しよう。

最後に

レビューで上記のような指摘をいただきとても勉強になったので記事化した。
感謝。

Discussion