شاید نباید اینهمه کد رو ریویو کنیم
خلاصهٔ کاملتر
ریچل لیکاک، سیتیاوی Thoughtworks، این مطلب رو در جواب نوشتهٔ برایان هاک از DX منتشر کرده؛ هر دو قبلش تو یک پنل با هم مخالف بودن. نقطهٔ شروع بحث یک واقعیت سادهست: ایجنتها بیشتر از اون چیزی که آدمها بتونن بخونن کد تولید میکنن. هاک به آماری اشاره کرده که طبقش تو متا تعداد خطوط معنادار کد در هر دیفی که یک آدم مرج کرده، تو یک سال ۱۰۶ درصد بیشتر شده و میانهٔ اندازهٔ پولریکوئستها تو دادهٔ DX هم ۶۴ درصد رشد کرده.
نگرانی هاک اینه که اگه ریویو رو کامل خودکار کنیم، بقیهٔ چیزهایی که ازش میگیریم از دست میره: اشتراک دانش، آموزش مهندسهای جونیور، مالکیت جمعی و درک مشترک از معماری. لیکاک با خود این فهرست مخالف نیست، ولی سؤالش اینه که چرا برای همهٔ اینها تا مرحلهٔ ریویو صبر میکنیم. به گفتهٔ اون ایراد پولریکوئست اینه که اول چیزی رو تا آخر میسازیم، بستهبندی میکنیم و میندازیم جلوی یکی دیگه، بعد تازه دربارهٔ درست بودنش حرف میزنیم.
پیشنهاد اصلیش اینه که قضاوت رو ببریم عقبتر و نزدیکتر به لحظهٔ تصمیم. برای بررسی راهحلهای جایگزین، قبل از پیادهسازی جلسه بذارید. برای انتقال دانش و یاد گرفتن جونیورها، برنامهنویسی جفتی. برای مالکیت جمعی، mob programming یعنی کار کل تیم روی یک کد، و جلسات طراحی دور وایتبرد. برای همراستایی معماری هم طراحی مشترک بهعلاوهٔ fitness function، یعنی تستی که خودِ محدودیت معماری رو خودکار چک میکنه.
این حرف به معنی حذف کامل ریویو نیست؛ لیکاک میگه ریویو باید استثنا باشه نه قاعده. تغییر بنیادی معماری، چیزی که از یک مرز حساس امنیتی رد میشه، تغییری با دامنهٔ تأثیر بزرگ، بخش ناآشنای یک سیستم حیاتی، یا هر جایی که تیم بگه مطمئن نیستم، هنوز ارزش این رو داره که یک آدم باتجربه نگاهش کنه. در مقابل، قالببندی، لینت، مشکلات امنیتی شناختهشده و هر چیزی که بشه قطعی تستش کرد باید خودکار بشه.
جملهای که بحث رو جمع میکنه اینه: اگه ایجنت ده برابر کد تولید کنه ولی هر خط پشت صف ریویوی یک مهندس ارشد بمونه، سازمان دهبرابری ساخته نشده، فقط یک گلوگاه تازه ساخته شده. نویسنده گذاشتن یک ایجنت بهجای ریویوکنندهٔ انسانی رو هم راهحل نمیدونه، چون فقط همون تشریفات رو سریعتر میکنه. نگرانی هاک دربارهٔ بدهی شناختی رو قبول داره، ولی میگه پولریکوئست اجباری دفاع محکمی برابرش نیست.
نکات کلیدی:
- طبق آمار نقلشده، خطوط معنادار کد در هر دیف انسانی تو متا در یک سال ۱۰۶ درصد رشد کرده.
- میانهٔ اندازهٔ پولریکوئست تو دادهٔ DX ۶۴ درصد بزرگتر شده.
- جایگزینهای پیشنهادی: برنامهنویسی جفتی، mob programming، ترانکبیسد، تست خودکار، تحلیل استاتیک و fitness function.
- ریویو فقط برای موارد استثنا: تغییر معماری، مرز امنیتی، دامنهٔ تأثیر بزرگ، بخش ناآشنای سیستم حیاتی.
- حرف پایانی نویسنده: مهندسها باید سیستمها رو بفهمن، نه دیفها رو.




