プログラミング入門

私がリファクタリングが失敗する一番の原因だと思うのは、テストコードがない状態でリファクタリングをすることです。

テストコードがない状態でリファクタリングをすることはかなり難しいです。

テストコードはテストをする ...

JavaScript, プログラミング入門

以下のようにパラメータ数がやたらと多い関数は理解がしづらいです。

const hoge = (size, type, message, options) => {//do something}

可能であれば、パラメータ ...

プログラミング入門

私はあまり記憶力が良い方ではないので、システムの仕様とかなんでこのコードを書いたのかとかをよく忘れます。

普通はそれはデメリットになるのですが、最近メリットを見つけることができました。

自分が書いたコードって、 ...

プログラミング入門, リファクタリング

複雑なプログラムを書いていると、ついコメントで内容を補足したくなります。

コメントを書くこと自体が悪いわけではないですが、コメントは実装と乖離してしまうと逆に誤解を招いてしまうというデメリットがあります。

でき ...

プログラミング入門, リファクタリング

巨大なコードを一気にやろうとしない

リファクタリング対象が巨大であればあるほど、想定通りに動かない可能性が高くなります。

そして、動かなくなったときにどの辺りが原因なのかを特定することが難しくなります。

結果とし ...

コードレビュー, プログラミング入門

メソッド、関数が長すぎないか。分割できないか
命名が適切か
変数のスコープが広すぎないか
ファイルの行数が多すぎないか
処理の責務が適切か
実装とコメントに解離がないか
undefinedやnullになる ...

JavaScript, プログラミング入門

!value のようなコードを使う時はよく考える必要があると思っています。

if(!value){//do something}

このコードで、具体的にvalueがどういう時にifの処理を行いたいのでしょうか。

...

未分類

テストをする部分の変更頻度が低いか
自動化することのコストとメリットが釣り合うか
実装を変更しないといけない部分はないか
自動化することでリスクがないか(例えば管理者権限のユーザーでログインして何かの操作をするのはリスクが ...

JavaScript, プログラミング入門

Webページには以下の3つのレイヤーがあるとされています。

コンテンツ(HTML)
プレゼンテーション(CSS)
ふるまい(JavaScript)

これらのレイヤーは境界がはっきりしていると良いとされてい ...

プログラミング入門

プログラミングをする上で変数・クラス・関数の命名は非常に重要です。

はじめの命名でその処理の運命が決まってしまいます。

例えば日常で言うと、「ゴミ箱」という箱があった場合に、人はなんでも捨ててしまいます。