पाठ 16 / 25
Diff आकार और दायरे के Gates
ऐसे बदलाव चिह्नित या बंद करें जो काम से कहीं बड़े या चौड़े हों।
बड़े diffs ग़लतियाँ छिपाते हैं
Reviewer 3,000 पंक्तियों का diff सचमुच नहीं पढ़ सकते। Agent के pull request के लिए बदली files और बदली पंक्तियों की सीमाएँ तय करें; सीमा पार होने का मतलब है "इसे बाँटो" या "गहरी समीक्षा कराओ", अपने आप merge नहीं। इसे protected-path जाँच से मिलाएँ ताकि अनपेक्षित files उभरकर दिखें। चालीस files बदलने वाला छोटा काम अपने आप में चेतावनी है।
आकार gate, चलाकर
मैंने यह चलाया। तीन files और 80 पंक्तियाँ पास होती हैं; चालीस files और 900 पंक्तियाँ कारणों के साथ अस्वीकार होती हैं। CI में आप संख्याएँ git diff --numstat से लेंगे।
def gate(files, lines, max_files=15, max_lines=400):
reasons = []
if files > max_files: reasons.append(f"too many files ({files})")
if lines > max_lines: reasons.append(f"too many lines ({lines})")
return reasons or ["ok"]
print(gate(3, 80), gate(40, 900))
Output:
['ok'] ['too many files (40)', 'too many lines (900)']
छोटे pull requests माँगें
Agents के लिए project guide में "हर pull request में एक तार्किक बदलाव" रखें। छोटे diffs की समीक्षा, वापसी और ग़लत होने पर दोबारा कोशिश सस्ती होती है।
त्वरित जाँच: Agent का pull request आकार सीमा पार करे तो क्या होना चाहिए?
- अपने आप merge हो
- सीमा चुपचाप बढ़ा दी जाए
- उसे बाँटा जाए या गहरी समीक्षा मिले
- Tests हटा दिए जाएँ
Answer
उसे बाँटा जाए या गहरी समीक्षा मिले — बड़े बदलावों की जाँच कम नहीं, ज़्यादा होती है।