Gitの3つの場所:作業ツリー・ステージ・リポジトリ
Git初心者が最初につまずく、作業ツリー、ステージングエリア、リポジトリの違いを整理します。
KISS原則:シンプルなコードが強い理由
KISS原則を、読みやすさ、分岐、関数分割、過剰設計との関係から初学者向けに解説します。
Premature Optimization:早すぎる最適化が危ない理由
早すぎる最適化の問題を、可読性、計測、ボトルネック、学習用コードでの判断基準から初学者向けに解説します。
Tell, Don’t Ask:データを聞き出しすぎない
Tell, Don’t Ask原則を、オブジェクトから値を取り出して外側で判断するコードの問題と、責務を寄せる設計から解説します。
YAGNI原則:今いらない機能を作らない
YAGNI原則を、先回り実装、未使用オプション、拡張ポイント、学習用コードでの判断基準から初学者向けに解説します。
イミュータブルとは:値を変えない設計の基本
イミュータブルの考え方を、再代入、配列・オブジェクトの変更、状態管理、バグを減らす効果から初学者向けに解説します。
マジックナンバーとマジック文字列を避ける
コード内に突然現れる数値や文字列を、意味のある定数や設定として扱う考え方を初学者向けに解説します。
関数は何行まで?長い関数を分ける判断基準
関数の行数だけでなく、抽象度、変更理由、ネスト、テストしやすさから長い関数を分ける判断基準を解説します。
共通化しすぎると読みにくくなる理由
コード共通化の失敗例を通して、早すぎる抽象化、引数だらけの共通関数、変更理由の違いを初学者向けに解説します。
早期returnとガード節:ネストを浅くする考え方
if文のネストを浅くするための早期returnとガード節を、悪い例、よい例、使いすぎの注意点から解説します。
単一責任の原則を関数で考える
SOLIDの単一責任の原則を、クラスではなく関数単位で理解するために、変更理由、入力、出力、分割判断を解説します。
副作用とは何か:予測しやすい関数を書く
副作用の意味、純粋関数との違い、DB・API・ログ・状態変更を分ける理由を初学者向けに解説します。
命名は設計:よい名前がコードを短くする
変数名、関数名、クラス名の付け方を、責務、型、スコープ、避けたい曖昧語の観点から初学者向けに解説します。
良いコミットとは何か
Git初心者向けに、良いコミットの考え方、粒度、メッセージ、レビューしやすさを整理します。
.claudeディレクトリの役割
Claude Codeの.claudeディレクトリについて、settings、rules、skills、agentsなどの役割と置き場所を初心者向けに整理します。
AIエージェント型コーディングとは何か
Claude CodeのようなAIエージェント型コーディング支援について、コード補完との違い、できること、任せてよい範囲を整理します。
AIコーディングで危ない権限設計
Claude CodeのようなAIエージェントにファイル編集やコマンド実行を許可するとき、最小権限、秘密情報、本番操作をどう考えるかを整理します。
charCodeAtとcodePointAtの違い
JavaScriptのcharCodeAtとcodePointAtの違いを、UTF-16コード単位、Unicodeコードポイント、絵文字の例で初心者向けに整理します。
Claude Codeがコードベースを読む仕組み
Claude Codeがプロジェクトを理解するときの、ファイル探索、コンテキスト、指示ファイル、実行ログの関係を初心者向けに解説します。
Claude Codeから見たMCP:AIと外部ツールをつなぐ仕組み
Claude CodeでMCPを使う意味、外部ツール連携の考え方、権限設計の注意点を初心者向けに整理します。