俺は日常の仕事で「防御的」なC#コードをたくさん書いてる。将来的に経験の浅い人やオフショアの人が触ることを想定してて、4ヶ月後にプロジェクトから離れた後にレビューすることになるからね。これを「企業コーディング」って呼んでる。守らなきゃいけないインターフェースがたくさんあって、IoCやインジェクション、うざいくらい強いパターンがある。脱線するのが大変になるようにしてる — コードレビューで目立つようにね。でも、重要なロジックは少数の大きなファイルに集中させてるから、抽象化を掘り下げるのが簡単で、新人でも理解しやすいんだ。防御的コーディングアプローチとLLMを使って、特定のプロジェクトやフォルダーにスコープを絞りたいな。フロントエンド、バックエンド、データベースを一度に知る必要はないでしょ?もちろん、混乱しちゃうよね。最近はLLMにコインと予算を与える実験もしてる。「xをするのに10コイン使えるよ。m,n,oをすればコインをもらえて、j,k,lをするとコインを失う」って感じで、無駄が減って簡潔さが増したよ。LLMが「終わったよ、ボス。2コイン残ってるけど、もっとコインを稼ぐにはどうすればいい?」って聞いてきたこともあった。選択肢を考えてるモデルを観察するのが楽しい。「これをやるとこれがかかるから、代わりに1行のコードでこれをやった方が3コイン稼げるかも!」ってね。