皆さんこんにちは、エンジニアの西尾です。 あなたは今、コードレビューをしています。 以下コードに直面したとき、何を指摘しますか。 修正してほしい点を、どのようにレビュイーに伝えますか。 // これはJavaScriptのコードです。 // 商品の在庫を1つ減らし、売り切れになったものを抽出したい、と思っています。 const soldOutProducts = products.filter(product => { product.quantity -= 1; return product.quantity <= 0; }); よくないコードレビューの例 問題は表題の通り、filterの中で状態を書き換えているのが、よくありません。 関数型言語を学んだことがある方なら、このコードの違和感に気がつきます。 filterは純粋関数であるべきだ、副作用を起こしてはいけない。そう認識しているから