最近のJestでシンプルにimport/exportを使う方法
JestはデフォルトではECMAScript Modulesをサポートしていないため、import/export文を使いたい場合はbabelを使用してCommonJsに変換する必要がありました。
Googleで検索すると、 ...
Node.jsでグローバルなエラーをキャッチする方法
コードを関数やメソッドに切り出す時の基準について
長くて理解が難しいコードを関数やメソッドに切り出すことはとても重要なことです。
しかし、どのような場合に切り出すかは人それぞれで、判断が難しいこともあります。
私なりの基準ですが、一行一行読まないと目的が分から ...
リファクタリングが失敗する一番大きな原因
私がリファクタリングが失敗する一番の原因だと思うのは、テストコードがない状態でリファクタリングをすることです。
テストコードがない状態でリファクタリングをすることはかなり難しいです。
テストコードはテストをする ...
関数のパラメータを少なくするときの考え方
以下のようにパラメータ数がやたらと多い関数は理解がしづらいです。
const hoge = (size, type, message, options) => {//do something}可能であれば、パラメータ ...
記憶力がないことがエンジニアとしてメリットに感じたこと
私はあまり記憶力が良い方ではないので、システムの仕様とかなんでこのコードを書いたのかとかをよく忘れます。
普通はそれはデメリットになるのですが、最近メリットを見つけることができました。
自分が書いたコードって、 ...
コードにコメントを書く前に考えてみること
複雑なプログラムを書いていると、ついコメントで内容を補足したくなります。
コメントを書くこと自体が悪いわけではないですが、コメントは実装と乖離してしまうと逆に誤解を招いてしまうというデメリットがあります。
でき ...
リファクタリングするときに気をつけること
リファクタリング対象が巨大であればあるほど、想定通りに動かない可能性が高くなります。
そして、動かなくなったときにどの辺りが原因なのかを特定することが難しくなります。
結果とし ...
コードレビュー時に気をつけること
命名が適切か
変数のスコープが広すぎないか
ファイルの行数が多すぎないか
処理の責務が適切か
実装とコメントに解離がないか
undefinedやnullになる ...
!value のようなコードはお勧めしない理由
!value のようなコードを使う時はよく考える必要があると思っています。
if(!value){//do something}このコードで、具体的にvalueがどういう時にifの処理を行いたいのでしょうか。
...









