プログラミング
巨大なプルリクエストを送るのをやめてほしい;愚痴
Stop sending me huge PRs; a rant (getsmall.xyz)
要約
著者は、レビュー担当者にとって負担となる数千行に及ぶ巨大なプルリクエスト(PR)の送信に不満を表明しています。AIの進化は開発を加速させる一方で、コードの理解を困難にし、レビューの質を低下させるリスクがあると指摘しています。著者は、小さく、理解しやすく、レビューしやすいPRを推奨しています。
全文翻訳
もううんざりだ、ボス。
エージェントが「問題全体を一発で解決できた」という理由で、1000行、2000行、3000行にも及ぶPRをレビューすることにうんざりしている。
小さなPRは、書くのが簡単だから求められていたのではなく、常にレビュアーの利益のためにあった。
AIは業界にとって大きな恩恵だが、レビュアーやメンテナーにとっては大きな負担になりつつある。
私がただ年寄りが空に向かって吠えているだけなのかもしれないが、どうか、巨大なPRを送るのはやめてほしい。
最近、何度か「全体を変更しないと機能しない」とか「全体の差分を入れないとコードは何も機能しない」という議論を聞いたが、そうか?それでいいのか?
小さなPRのポイントは、必ずしも小さく、個別に、完成した製品を持つことではない。
それは、小さく、消化しやすく、レビューしやすく、理解しやすい作業単位を持つことだ。
これに関するデータはないので、勝手に推測するが、コードの全体を完全に理解するのにかかる時間は、コードの行数が増えるにつれて指数関数的に増加する。
あなたが完全な機能をリリースしたかったからといって、私の時間を指数関数的に多く奪うのは、喜びをもたらさない。
ついでに言うと、50行のコメントは必要ない。
もちろん、関数を文書化したり、jsdoc、rustdoc、javadocのようなものを提供したりするのは良いことだ。
`is_logged_in` という変数がなぜ `is_logged_in` なのかについて、5行のコメントを付けるのは絶対にやめてほしい。
あなたの変数がうまく命名されていれば、10回中9回はそれが何をするのか理解できるだろう。
あなたの変数がうまく命名されておらず、コメントが必要なら、もっと良い変数名にしよう。
最後に、AIを使ってそれを理解しろ(grok)と主張するAI至上主義者たちへ。
AIが生成したコードを再入力してトークンを無駄にしているだけだ。
「レビューには別のモデルを使っている」だって?素晴らしいね、ではなぜそもそも人間によるレビューのために提出したんだ?
おそらく、あなたの貴重なAIに、我々のような凡人がレビューする前に、それを分離させることができるだろう?
見てくれ――AIは素晴らしいツールであり、物事をより速く進めるのに役立ち、コードをより良くすることができる。
しかし、Reactが登場したとき、私たちは「Reactは書くのが速く、読みやすい」という理由で、より大きなPRを受け入れたわけではない。なぜ今、それをやっているんだ?
追記:私が途中で諦めて承認するのを期待して、巨大なPRを作成しているのか?
もしそうなら、よくやった。
よくやった。