بازنشر — محتوا از Jérémy Surget
آخر هفته را صرف خواندن بهترین وبلاگها در مورد Harness Engineering کردم. تمرینهایی که بیشترین تکرار را داشتند:
اکنون میدانیم که هارنس امروز به همان اندازه مدل پشت آن اهمیت دارد
در اینجا تکنیکهایی که بیشترین برجستگی را دارند:
۱. حافظه بیرون از زمینه زندگی میکند
مخزن، سیستم فایل و گیت به عنوان حافظه عمل میکنند. هر جلسه از جایی که جلسه قبلی متوقف شده ادامه مییابد، و زمینه هرگز منبع حقیقت نیست
۲. با محدودیت زمینه با دقت رفتار کنید
زمینه بیش از حد پر منجر به توهمات و عملکرد پایینتر میشود. برای محدود کردن این، باید ابزارها و مهارتها را بر اساس تقاضا بارگذاری کنید و خروجیهای بزرگ را به یک فایل روی دیسک منتقل کنید. نه اینکه پیشوند پرامپت پایدار برای کش را حفظ کنید
۳. قوانین توسط کد اجرا میشوند
نه توسط پرامپتها. لینترها، تستها، هوکها و سندباکسها محدودیتها را قابل تأیید میکنند. عامل باید بتواند قبل از اعلام انجام یک وظیفه، خود را تأیید کند (تستها، لاگها، اسکرینشاتها)
۴. دوام و قابلیت مشاهده
هر مرحله را چکپوینت کنید، اقدامات را خودتوان (idempotent) کنید و همه چیز را قابل ردیابی کنید. عاملها شکست خواهند خورد، جلسات گاهی قطع یا متوقف خواهند شد. باید بتوانید اطمینان حاصل کنید که همه چیز دقیقاً از جایی که متوقف شده قابل ازسرگیری است
۵. هارنس باید قابل انعطاف باقی بماند
با بازخورد تولید، هارنس شما باید برای سازگاری تغییر کند. حفظ آن به صورت حداقلی و قابل انعطاف به شما امکان میدهد سریع سازگار شوید
منابع لینکدین
- پروفایل: Pierre Jean Duvivier dit Sage (لینکدین)
- نویسنده مشترک: Jérémy Surget (لینکدین)
پست آخر هفته را صرف خواندن بهترین وبلاگها در مورد Harness Engineering کردم. تمرینهایی که بیشترین تکرار را داشتند: ابتدا در les plumes qui mordent ظاهر شد.
سوالات متداول
سوالات متداول Harness Engineering
سوالات مبتدی
Harness Engineering چیست
این عمل طراحی سیستمها به گونهای است که هارنس — خطوط لوله ابزار، نردههای محافظ و حلقههای بازخورد اطراف کد شما — مهندسی خوب را مسیر آسان و مهندسی بد را سخت میکند
چرا مهم است
زیرا بیشتر مشکلات کیفیت از اصطکاک ناشی میشوند نه بیدقتی. یک هارنس خوب اشتباهات را زود میگیرد، کارهای خستهکننده را خودکار میکند و به تیمها اجازه میدهد سریعتر با شگفتیهای کمتر تحویل دهند
اجزای اصلی یک هارنس چیست
معمولاً خطوط لوله CICD، تستهای خودکار، تحلیل استاتیک و لینترها، هوکهای پیش از کامیت، قابلیت مشاهده و نردههای محافظ استقرار واضح
آیا برای شروع به تیم بزرگی نیاز دارم
خیر. با اصول اولیه شروع کنید — یک خط لوله CI، تستهای خودکار و یک لینتر. میتوانید هارنس را همگام با رشد کدبیس و تیم گسترش دهید
تفاوت بین هارنس و ابزار DevOps معمولی چیست
ابزار DevOps زیرساخت است؛ Harness Engineering طراحی عمدی نحوه هدایت و محدودسازی مهندسان توسط آن ابزار در روزمره است. این درباره تجربه توسعهدهنده است نه فقط ابزارها
سوالات متوسط
چه مزایایی بیشتر در عمل ظاهر میشوند
حلقههای بازخورد سریعتر، حوادث تولید کمتر، کیفیت کد سازگارتر، آنبوردینگ آسانتر و زمان کمتر صرف شده برای بررسیهای دستی و آتشنشانی
رایجترین مشکلاتی که تیمها با آن مواجه میشوند چیست
خطوط لوله کند، تستهای ناپایدار، نویز بیش از حد از لینترها و هشدارها، و نردههای محافظ چنان سختگیرانه که کار مشروع را مسدود میکنند. راهحل معمول تنظیم برای سرعت و سیگنال است نه افزودن بررسیهای بیشتر
چگونه با تستهای ناپایدار مقابله کنم
ناپایداری را به عنوان باگ در نظر بگیرید. آنها را قرنطینه کنید، سریع تعمیر یا حذف کنید و نرخ ناپایداری را در طول زمان پیگیری کنید. یک تست ناپایدار در هارنس به مردم یاد میدهد که هارنس را نادیده بگیرند
یک بهبود اولیه خوب چیست
بازخورد را سریعتر کنید. CI را زیر ده دقیقه بیاورید و هوکهای پیش از کامیت برای قالببندی و لینتینگ اضافه کنید. بازخورد سریع رفتار را بیشتر از هر سند خطمشی تغییر میدهد
چگونه از تیم خرید بگیرم
زمان صرفهجویی شده و حوادث اجتناب شده را نشان دهید. مهندسان بهبودهای هارنس را زمانی میپذیرند که هارنس روز آنها را آسانتر کند نه زمانی که مراحل اضافه کند
سوالات پیشرفته
چگونه نردههای محافظی طراحی کنم که مردم را کند نکنند
مسیر امن را پیشفرض و مسیر سریع را