Category
プログラミング
実装・設計・言語に関する記事
12 件の記事
-
現代の言語進化は同じ方向を向いている
記述量を減らすためではなく、表現できてしまう状態を減らすために構文は変わってきた——言語をまたぐ変化の共通ベクトルを読み解きます。
-
型設計の考え方——不正な状態を作れなくする
型設計の目的はエラーを早く見つけることではなく——不正な状態をそもそも表現できなくして、確認そのものを不要にすることです。
-
例外処理の書き方——捕まえる場所と捨てない情報
try/catch を書く技術ではなく、どこで捕まえてどこまで運ぶかの設計——例外処理の良し悪しはその一点で決まります。
-
パターンマッチには強度の差がある
match と書ければ同じではありません——分岐の網羅漏れをコンパイラが教えてくれるかどうかで、機能としての価値が変わります。
-
null を扱うときの注意点とベストプラクティス
null 安全は言語機能で自動的に手に入るものではなく——生成・伝播・消費の各段階で「不在」をどう設計するかの問題です。
-
readonly と frozen は同じ意味ではない
不変性には「束縛の不変」と「値の不変」、そして浅いか深いかの軸がある——同じ readonly でも守る範囲が違います。
-
失敗を返り値にするか、投げるか
例外と Result 型の違いは好みではなく、失敗を型に載せるかどうかの設計判断——処理漏れを誰が検出するかが変わります。
-
「値がない」の表し方で言語は4つに分かれる
null 許容・nullable 型・Option 型——同じ「null 安全対応」に見えて、実際に違うのは値の欠如が検査されるタイミングです。
-
コードレビューの ROI ——効いていた指摘は 2 種類だけ
PR 62 件・指摘 300 件を分類して欠陥相関を測った実験結果から、レビューを希少資源の配分問題として捉え直します。
-
bonsai — 全部読む前に地図を作れ
コードベースの骨格だけを抽出してトークン効率の高い地図を生成する CLI ツール bonsai——全文を読ませる前に「何を読むか」を決めることで、AI エージェントのコンテキスト消費を 4〜5 倍削減します。
-
SVG でグラフが描ける仕組みと、スキル化するアプローチ
XML の座標指定だけでグラフが描ける SVG の構造と、HTML からの変換可否、そして Claude Code スキルとして再利用可能にする設計を整理します。
-
taxonomy、idempotent、canonical——コードでなんとなく流している英単語
設定ファイルの taxonomy、API 仕様の idempotent——読めるけれど正確な意味は説明できない、コード周辺の英単語を意味と由来から押さえます。