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

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

JavaScript, プログラミング入門

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

if(!value){//do something}

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

...

未分類

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

JavaScript, プログラミング入門

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

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

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

プログラミング入門

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

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

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

JavaScript

await と一緒に使用する async ですが、普通の関数に async をつけるとどのような違いがあるのかというと、return される値が Promise になります。

const hoge = async () => ...

人生

庭のひまわりを植えました。

耕す

庭の一角に何もないところがあったので、そこを鋤で耕しました。

古い鋤だったので重く、翌日には予想通り筋肉痛になりました。

昔の人はこんな重いものを使っていたんだな。

JavaScript

階層の最後までみてひとつでも check: true があるなら true を返す。

const data = {children: }, { check: false, children: }, { check: fals ...

TypeScript

type MyObj<T> = { : Record<P, MyObj<T>> | undefined}type Hoge = MyObj<{hoge: string}>const a: Ho ...

PHP

以下のコードは、$aが定義されていないためにエラーになると思っていた。

$result = $a->hoge->hoge ?: 'default';print_r($result);

しかし、実際 ...