دسته چهارم از انواع بازبینی کد ملایم:
بازبینی دورهای (هر چند وقت یکبار)
روش دیگر این است که هر چند وقت یکبار (مثلا ماهی یکبار) همراه با کل تیم جلسههای بازبینی کد برگزار کنیم. به این صورت که در اتاق جلسات نشسته و یکی از توسعهدهندهها، یک بخش دشوار از کدی که اخیرا نوشته را توضیح دهد.
سپس، سایر توسعهدهندهها تلاش کنند مشکلات بالقوه آن کد را کشف کرده و یادداشت کنند و در نهایت پیشنهادهایی جهت بهبود کد بدهند.
بعید است که یک تیم توسعه به صورت دایمی از این روش برای بازبینی کد استفاده کند. تنها یک موقعیت خاص را میتوان تصور کرد که این روش جواب دهد و آن هم زمانی است که هیچ یک از اعضای تیم، تجربهای در بازبینی کد نداشته باشند. در این صورت، چندبار جمع کردن افراد در یک اتاق و انجام بازبینی با هم، ممکن است کمک کند تا افراد هدف و مقصود بازبینی کد را درک کنند.
به این ترتیب، برای یک بازه طولانی، استفاده از روش چهارم چندان مناسب نیست، زیرا کار کردن کل تیم بر روی یک تکهکد، خیلی کارآمد نیست.
@JavaCupIR
بازبینی دورهای (هر چند وقت یکبار)
روش دیگر این است که هر چند وقت یکبار (مثلا ماهی یکبار) همراه با کل تیم جلسههای بازبینی کد برگزار کنیم. به این صورت که در اتاق جلسات نشسته و یکی از توسعهدهندهها، یک بخش دشوار از کدی که اخیرا نوشته را توضیح دهد.
سپس، سایر توسعهدهندهها تلاش کنند مشکلات بالقوه آن کد را کشف کرده و یادداشت کنند و در نهایت پیشنهادهایی جهت بهبود کد بدهند.
بعید است که یک تیم توسعه به صورت دایمی از این روش برای بازبینی کد استفاده کند. تنها یک موقعیت خاص را میتوان تصور کرد که این روش جواب دهد و آن هم زمانی است که هیچ یک از اعضای تیم، تجربهای در بازبینی کد نداشته باشند. در این صورت، چندبار جمع کردن افراد در یک اتاق و انجام بازبینی با هم، ممکن است کمک کند تا افراد هدف و مقصود بازبینی کد را درک کنند.
به این ترتیب، برای یک بازه طولانی، استفاده از روش چهارم چندان مناسب نیست، زیرا کار کردن کل تیم بر روی یک تکهکد، خیلی کارآمد نیست.
@JavaCupIR
از کدام روش بازبینی باید استفاده کنیم؟
پس از آشنایی با روشهای مختلف، احتمالا دوست دارید بدانید که کدام روش بازبینی را باید انتخاب کنید.
با ما همراه باشید💪
@JavaCupIR
پس از آشنایی با روشهای مختلف، احتمالا دوست دارید بدانید که کدام روش بازبینی را باید انتخاب کنید.
با ما همراه باشید💪
@JavaCupIR
انجمن جاواکاپ
بازبینی صوری بازبینیهای صوری (Formal Code Review)، بر مبنای یک فرآیند صوری هستند. در حال حاضر، Fegan inspection محبوبترین پیادهسازی از چنین فرآیندهایی است. در این پیادهسازی، با یک فرآیند بسیار ساختارمند که سعی در پیدا کردن نواقص و مشکلات کد دارد، روبرو…
🔸 در مورد روش رسمی صحبت کردیم؛ که واضح است خیلی روش محبوبی نیست و در عمل خیلی کم از آن استفاده میشود...
انجمن جاواکاپ
بازبینی ملایم بازبینی ملایم (Lightweight Code Review)، این روزها در بین تیمهای توسعه معمولتر است. میتوان بازبینی ملایم را مانند آنچه در ادامه آمده است، به چهار زیردسته مختلف تقسیمبندی کرد: 🔸 بازبینی فوری: به عنوان برنامهنویسی دو نفره هم شناخته میشود.…
🔸 سپس در مورد دسته بازبینی ملایم صحبت کردیم و 4 روش مختلف از این دسته را معرفی کردیم.
انجمن جاواکاپ
Photo
1⃣ روش یک، بازبینی فوری، با برنامهنویسی دونفره انجام میشود زمانی که دو توسعهدهنده با توانایی و تخصص یکسان بر روی یک مساله کاری پیچیده کار میکنند، مناسب است.
انجمن جاواکاپ
Photo
2⃣ روش دو، بازبینی همزمان، زمانی که بازبینیکننده دانش کافی از هدف task ندارد و نیاز به توضیحات توسط کدنویس دارد، مناسب است. همچنین زمانی که به دلیل بیتجربگی کدنویس، انتظار بهبودهای زیادی میرود، این روش میتواند مناسب باشد.
اما اشکالش این است که باعث تغییر context اجباری میشود که برای بازبینیکننده اذیتکننده است و سرعت کل تیم را کم میکند.
اما اشکالش این است که باعث تغییر context اجباری میشود که برای بازبینیکننده اذیتکننده است و سرعت کل تیم را کم میکند.
انجمن جاواکاپ
Photo
3⃣ روش سه، بازبینی غیرهمزمان، از مشکل تغییر context اجباری جلوگیری میکند و برای اکثر مواقع معمول، مناسب است.
انجمن جاواکاپ
Photo
4⃣ روش چهار، بازبینی دورهای، برای یک تیم حرفهای، گزینهای دایمی به حساب نمیآید و احتمالا تنها زمانی که میخواهید روند بازبینی را در تیمتان آغاز کنید، مناسب است.
🔸 در نهایت، به نظر میرسد که یک تیم حرفهای، باید از روش بازبینی غیرهمزمان به صورت پیشفرض استفاده کند. زیرا در مقایسه با بازبینی همزمان، از بسیاری از معایب جلوگیری میکند.
🔸 بازبینی همزمان، میتواند زمانی که بازبینیکننده قادر به فهم تغییرات دادهشده توسط کدنویس نیست، مورد استفاده قرار بگیرد. اما در چنین موقعیتی، در هر صورت، بازبینیکننده از کدنویس درخواست توضیحات و شفافیت بیشتر میکند که اگر شما در کنار تیم کار کنید، چنین موقعیتی به ندرت رخ میدهد.
🔸 در صورتی که یک تیم واقعی ندارید و صرفا با گروهی از افراد کار میکنید، بازبینی همزمان، میتواند مناسب باشد. اگر بازبینیکننده اصلا نداند در چند روز گذشته بر روی چه چیزی کار میکردهاید، در این روش بهتر است که قبل از شروع بازبینی، توضیحات لازم را به وی بدهید.
🔸 بازبینی همزمان، میتواند زمانی که بازبینیکننده قادر به فهم تغییرات دادهشده توسط کدنویس نیست، مورد استفاده قرار بگیرد. اما در چنین موقعیتی، در هر صورت، بازبینیکننده از کدنویس درخواست توضیحات و شفافیت بیشتر میکند که اگر شما در کنار تیم کار کنید، چنین موقعیتی به ندرت رخ میدهد.
🔸 در صورتی که یک تیم واقعی ندارید و صرفا با گروهی از افراد کار میکنید، بازبینی همزمان، میتواند مناسب باشد. اگر بازبینیکننده اصلا نداند در چند روز گذشته بر روی چه چیزی کار میکردهاید، در این روش بهتر است که قبل از شروع بازبینی، توضیحات لازم را به وی بدهید.
🔸 اقدام به برنامهنویسی دو نفره زمانی معنی میدهد که که دو توسعهدهنده با تخصص یکسان دارید که بر روی یک مساله کاری پیچیده کار میکنند. اما معمولا یک تیم، متشکل از افرادی با سطوح مختلف تجربه است و در تمام طول زمان مشکلات تجاری پیچیدهای ندارد. اکثر اوقات taskهای معمول با سطح پیچیدگی متوسط دارید.
🔸🔸🔸بنابراین، بهترین انتخاب برای یک تیم حرفهای، استفاده از روش بازبینی غیرهمزمان به صورت پیشفرض و در صورت لزوم استفاده از روش همزمان یا همان برنامهنویسی دو نفره است.
🔸🔸🔸بنابراین، بهترین انتخاب برای یک تیم حرفهای، استفاده از روش بازبینی غیرهمزمان به صورت پیشفرض و در صورت لزوم استفاده از روش همزمان یا همان برنامهنویسی دو نفره است.
چندی پیش، به رسم هر سال، از مهندسان نرمافزار در سراسر جهان خواسته شد تا با استفاده از هشتگ #MustHaveDevTools، پنج ابزار برتر در توسعه نرمافزار را اعلام کنند.
در نهایت، ۲۰ ابزاری که بیش از سایرین در توییتها نام برده شدند، در لیست 《۲۰ ابزار برتر توسعه برای سال ۲۰۱۹》 قرار گرفتند.
در ادامه، این لیست را از آخر به اول با هم مرور میکنیم.
#Top20DevToolsFor2019
@JavaCupIR
در نهایت، ۲۰ ابزاری که بیش از سایرین در توییتها نام برده شدند، در لیست 《۲۰ ابزار برتر توسعه برای سال ۲۰۱۹》 قرار گرفتند.
در ادامه، این لیست را از آخر به اول با هم مرور میکنیم.
#Top20DevToolsFor2019
@JavaCupIR