コードレビュー時に気をつけること
メソッド、関数が長すぎないか。分割できないか
命名が適切か
変数のスコープが広すぎないか
ファイルの行数が多すぎないか
処理の責務が適切か
実装とコメントに解離がないか
undefinedやnullになる ...
命名が適切か
変数のスコープが広すぎないか
ファイルの行数が多すぎないか
処理の責務が適切か
実装とコメントに解離がないか
undefinedやnullになる ...
!value のようなコードはお勧めしない理由
!value のようなコードを使う時はよく考える必要があると思っています。
if(!value){//do something}このコードで、具体的にvalueがどういう時にifの処理を行いたいのでしょうか。
...
E2Eテストを書く前に考えること
テストをする部分の変更頻度が低いか
自動化することのコストとメリットが釣り合うか
実装を変更しないといけない部分はないか
自動化することでリスクがないか(例えば管理者権限のユーザーでログインして何かの操作をするのはリスクが ...
自動化することのコストとメリットが釣り合うか
実装を変更しないといけない部分はないか
自動化することでリスクがないか(例えば管理者権限のユーザーでログインして何かの操作をするのはリスクが ...
Webページをつくるときに気にするとよいレイヤーの話
Webページには以下の3つのレイヤーがあるとされています。
コンテンツ(HTML)プレゼンテーション(CSS)
ふるまい(JavaScript)
これらのレイヤーは境界がはっきりしていると良いとされてい ...
プログラミングの命名とゴミ箱の話
プログラミングをする上で変数・クラス・関数の命名は非常に重要です。
はじめの命名でその処理の運命が決まってしまいます。
例えば日常で言うと、「ゴミ箱」という箱があった場合に、人はなんでも捨ててしまいます。
JavaScript async について
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 NULL合体演算子について
以下のコードは、$aが定義されていないためにエラーになると思っていた。
$result = $a->hoge->hoge ?: 'default';print_r($result);しかし、実際 ...