در این مقاله بهترین شیوههای Code Revie، چرخه حیات Code Revie در مایکروسافت و مزایای آن را بیان میکنیم.
برای شروع اجازه دهید اطلاعات کلیدی در رابطه با مایکروسافت را به شما بدهیم. مایکروسافت حدود 140000 کارمند دارد. تقریبا 44% آنها، یعنی بیش از 60000 کارمند، مهندس هستند. چندین محصول مانند Office، Visual Studio یا ویندوز دارد که توسط هزاران مهندس تولید شده است که با هم بر روی code base مشابه کار میکنند.
اینها را گفتیم تا زمینه و دیدگاهی را نسبت به هماهنگی و مدیریت فرآیند توسعه نرمافزار به شما بدهیم. همانطور که میتوانید تصور کنید، اطمینان از کدی که توسط تیمهای زیرمجموعه توسعه مییابد، کار بیاهمیتی نیست، و Code Revie نقش مهمی در مایکروسافت بازی میکند تا در چنین مقیاس بزرگی بتواند همکاری خوبی داشته باشد.
Code Revie در مایکروسافت یک بخش کامل از فرآیند توسعه است
یکی از واقعیتهای مهم هنگام Code Review در مایکروسافت این است که این یک روش مهندسی اتخاذشده با کیفیت بالا است. هزاران مهندس آن را به عنوان بهترین عملکرد عالی درک میکنند، و تیمهای دارای عملکرد بالا وقت زیادی را صرف بررسی کد میکنند.
بررسی Code Revie در مایکروسافت
از آنجا که بررسی کد نقش مهمی را در روند توسعه مایکروسافت ایفا میکند، این یک هدف ایدهآل برای افراد زیادی بود تا در آن عمیق شده و مزایای و اشکالات این عمل را متوجه شوند. در یک مطالعه گسترده در مورد بررسی کد یا همان Code Revie در مایکروسافت که توسط یکسری گروهها انجام شده است، آنها با بیش از 900 برنامهنویس در زمینه بررسی کد مصاحبه و نظرسنجی کردهاند.
هدف آنها این بود که درک کنند Code Revie در مایکروسافت دقیقا چگونه انجام میشود و توسعه دهندگان در هنگام انجام این کار با چه مشکلاتی روبهرو میشوند و کدام نوع از این بررسیها بهترین روشهایی است که آنان برای غلبه بر این چالشها استفاده میکنند.
از شیوههای Code Revie در مایکروسافت چه چیزی میتوانیم بیاموزیم؟
بیشتر درسهای آموخته شده برای تیمها و سازمانهای کوچک به همان اندازه که برای تیمها وسازمانهای بزرگ ارزش دارند ارزشمند میباشند. اگر تیم شما هنوز بررسی کد را انجام نداده است، ما این یافتهها را به شکلی نشان دادهایم که مزایای این روش را به شما نشان میدهد. همچنین به شما نشان میدهیم که چرخه حیات Code Revie چگونه است، بنابراین میتوانید این روش را در روند توسعه خود بگنجانید.
اگر تیم شما از قبل بررسی کد را انجام داده است، میتوانید روش خود را با روش مایکروسافت مقایسه کنید. آیا چرخه حیات بررسی کد شما متفاوت به نظر میرسد؟ شما میتوانید از مشکلات و بهترین شیوهها مطلع شوید. پس شروع میکنیم:
مهندسان مایکروسافت چند بار Code Revie را انجام میدهند؟
در این مطالعه 36% توسعهدهندگان گفتهاند که آنها چندین بار در روز Code Revie را انجام میدهند. 39% دیگر از توسعهدهندگان گفتهاند که حداقل یک بار در روز بررسی کد را انجام میدهند. 12% این کار را چندین بار در هفته انجام میدهند و تنها 13% گفتهاند که بررسی کد را در هفته گذشته انجام ندادهاند.
این بدان معناست که توسعهدهندگان مایکروسافت مقدار قابل توجهی از وقت خود را صرف بررسی کد میکنند. بنابراین مهم است مطمئن شوید که این زمان به صورت ارزشمند صرف شده است. اما بررسی کد چه فایدهای دارد؟
بررسی کد چه فوایدی را ارائه میدهد؟
مهمترین دلایلی که توسعهدهندگان به عنوان مزایای بررسی کد ذکر کردهاند، بهبود کیفیت کد و پیدا کردن نقص در کد است. یکی دیگر از مزایای مهم آن انتقال دانش است.
انتقال دانش بدین معناست که اعضای تیم که کد یکدیگر را بررسی میکنند، با بخش بزرگی از کد پایه (code base) آشنا میشوند. اما همچنین بدان معناست که بهترین شیوههای بررسی کد در تیم ایجاد میشود. مزیت دیگر این است که اعضای تیم جدید و توسعهدهندگان تازهکار میتوانند ضمن بررسی و دریافت بازخورد، مهارتهای برنامهنویسی خود را یاد گرفته و بهبود دهند.
اگر توسعهدهندگان در هنگام بررسی کد راهحلهای جایگزین را مورد بحث قرار دهند، این امر نه تنها کد پایه را بهبود میبخشد بلکه تاثیر یادگیری برای همه افراد درگیر دارد. از این رو یادگیری، آموزش و بهبود تمام دلایلی هستند که بررسی کد به عنوان یک عمل سودمند در مایکروسافت مورد ملاحظه قرار میگیرد.
اما یک توسعهدهنده معمولا چطور Code Revie را انجام میدهد؟
Code Revie میتواند به شیوههای مختلفی انجام شود. گاهی اوقات به صورت غیررسمی انجام میشود، به طوری که یک برنامهنویسی سر میز برنامهنویس دیگری میرود و با هم بخشی از کد را میبینند. بعضی اوقات، تیمها به صورت گروهی بررسی کد را انجام میدهند. اما ممکنترین سناریویی که برای بررسی کد در مایکروسافت با آن روبهرو خواهید شد این است که بررسی کد با کمک ابزارها انجام میشود.
Code Revie در مایکروسافت بیشتر از طریق یک ابزار داخلی انجام میشود
انواع گستردهای از ابزارهای بررسی کد در دسترس است و در مایکروسافت تیمها برای انتخاب ابزار خود آزاد هستند. در سال 2016، 89% توسعهدهندگان اعلام کردهاند که از ابزار بررسی کد CodeFlow استفاده میکنند. از آن زمان و با ظهور گیت، دیدگاه استفاده از ابزار تغییر کرده است.
توسعهدهنده چگونه Code Revie را در مایکروسافت شروع میکند؟
یک توسعهدهنده اول کد را برای بررسی آماده میکند. این مرحله شامل این است که وی ابزار بررسی کد را باز میکند که به او اجازه میدهد تا از تغییرات کد پیشنمایشی داشته باشد. این ابزار وظایف مختلفی را انجام میدهد که به توسعهدهنده کمک میکند ببیند دقیقا چه تغییراتی را انجام داده است.
او پس از بررسی دقیق این تغییرات، یادداشتهای کوچکی را تهیه میکند که به بررسیکنندگان میگوید چه کاری انجام داده و چرا این کار را کرده است. این یادداشتها به بررسیکنندگان کمک میکند تا هدف از تغییر کد و انگیزه آن را بدانند. اکنون کد آماده ارسال به بررسیکنندگان است.
توسعهدهنده باید بررسیکنندگان مناسب را انتخاب کند. اگر او تازهکار باشد ممکن است این کار برایش دشوار باشد. از این رو یا سوال میکند یا به سیاستهای تیم نگاه میکند یا از ویژگیهای توصیهشده توسط ابزار استفاده میکند.
پس از انتخاب افراد مناسب، بررسی کد خود را ارسال میکند. ابزار Code Revie به صورت خودکار اعلان را میفرستد تا به همه اطلاع دهد که یک بررسی کد صورت گرفته است. این اعلانها به همه بررسیکنندگان و گاهی اوقات به مدیران ارسال میشود. این اعلانها به آنها اجازه میدهد تا در حلقه بمانند، اما آنها ملزم به انجام بررسی نیستند.
وقتی همکاران وقت داشته باشند Code Revie توسعهدهنده را بررسی میکنند. هر کس میتواند تفسیرات و نظرات خود را ارائه دهد. پس از پایان نظرات، آنها این تفسیرات و نظرات را به توسعهدهنده ارسال میکنند.
توسعهدهنده اکنون میتواند بر روی نظرات کار کند و نسخه بهبودیافته جدیدی از کد را تهیه کند. اگر او فکر کند که برخی تصورات غلط وجود دارد، ممکن است از یک همکار دیگر به صورت حضوری کمک بگیرد. به هر حال پس از پایان کار بر روی همه بازخوردها نسخه جدیدی از کد را به بررسیکنندگان ارسال میکند واین چرخه ادامه مییابد. اینکه این چرخه چند بار ادامه پیدا میکند، بستگی به نوع تغییر و کیفیت آن دارد. برای تغییر کد ساده و کوچک، اغلب فقط یک تجدیدنظر از Code Revie نیاز است. برای تغییرات پیچیدهتر، چندین تکرار ممکن است لازم باشد.
همه تیمها یکسان نیستند
همه 60000 مهندس و همه هزاران تیم موجود در مایکروسافت یک کار را انجام نمیدهند. برخی از تیمهای مایکروسافت مراحل یا ابزارهای دیگری را که در چرخه حیات بررسی کد مورد نیاز است را دارند.
جمعبندی
بررسی کد همیشه یک مساله مهم برای تیمها و سازمانهای بزرگ و کوچک بوده است، پس نباید از آن غافل شد. این روند مزایای بسیاری دارد که میتواند به توسعه و بهبود کد شما کمک کند. علاوهبراین، بر دانش و مهارتهای اعضای تیم میافزاید.
نظرات کاربران در رابطه با این دوره