توی مدتی که کد ریویو (Code Review) هم به لیست کارهام توی دیجیکالا اضافه شده، چیزای جدیدی یاد گرفتم که باعث شده برنامهنویس بهتری بشم (حداقل از نظر خودم)
مرور کردن این موارد ممکنه بدرد بقیه هم بخوره
پس خیلی سریع میرم سر اصل مطلب:
وقتایی که مرج ریکوئست میزنید (همون پول ریکوئست یا PR)
۱. تا حد ممکن کانتکست رو برای ریویو کننده روشن کنید تا بدونه که هدفتون از نوشتن این بخش کد چی بوده و هر چیزی که به فهم بهترش کمک میکنه رو ضمیمه کنید (لینک تیکت یا تسک، اسکرین شات، داکیومنت و…)
اینجوری به وقت و انرژی اون شخص هم احترام گذاشتین!
۲. موقع ریویو، معمولاً یه سری issue بوجود میاد که باید حل بشه. بنابراین بهتره کد رو یه طوری بنویسید که اگه قرار شد بخشی از اون رو تغییر بدید، کل این قسمت مثل دومینو نریزه پایین و مجبور نباشید کلش رو از اول بنویسید!
۳. در ادامه مورد قبلی، بهتره که مرج ریکوئستهاتون تا حد ممکن کوچیک باشن. تیکههای گندهی کد، هم پروسه ریویو کردن سختی دارن، هم کلهی ریویو کننده رو دچار مشکل میکنه!
بعلاوه، تعداد زیادی کامنت و issue هم میگیره که حل کردنشون زمان زیادی میبره و وای به حال وقتی که مجبور بشین بعد ریویو، کلی تغییر اساسی ایجاد کنین!
خلاصش اینه که دهنتون مسواک میشه
۴. حتما و حتما قبل از اینکه مرج ریکوئست رو باز کنین، خودتون یه بار کدی که نوشتین رو ریویو کنین.
این قضیه توی محیط گیتلب یا گیتهاب هم خیلی خوب جواب میده. اونجا میتونین قبل باز کردن PR یا MR، تمام تغییراتی که داشتین رو ببینید و سوتیها راحتتر پیدا میشن.
نگاه کردن به کد توی شکل و قیافه جدید (خارج از ادیتور) کمک میکنه یه سری مشکلات بهتر به چشمتون بیان.
۵. بحثها درمورد کد و کامنتها رو توی خود گیتلب یا گیتهاب نگه دارین و ترجیحا بیخیال صحبت کردن توی مسنجرهای دیگه بشین. دلیلش اینه که توی خود مرج ریکوئست، کامنتها میتونن حکم داکیومنت رو داشته باشن و بعدا میشه بررسیشون کرد و حتی بقیه همکاراتون میتونن ازش یاد بگیرن.
۶. هرجایی که به اطلاعات نیازه یا باید کاری بعدا انجام بشه، کامنت و TODO بذارین. شاید بعدا یادتون بره که باید چه کاری انجام میشد یا حتی شاید یه نفر دیگه خواست این بخش رو تکمیل کنه و نباید پوستش پاره بشه تا بفهمه باید چیکار بکنه.
۷. اسم گذاری درست و حسابی که سنگ بنای کاره. این رو اگه درست انجام ندین، بقیه موارد مسخره بازیه.
۸. موقعی که دارین روی یه بخش از پروژه کار میکنین، اگه دیدیدن جای دیگهای مشکل داره یا باید ریفکتور بشه، سعی کنین درستش کنین یا حداقل یه TODO براش بذارین. انجام دادن اینکار باعث میشه حجم فحشهایی که همکارهای بعدی و حتی یوزرها بهتون میدن تا حد زیادی کمتر بشه! :))))
و اما اگه قراره کد همکارتون رو ریویو کنین
۱. موقع کامنت گذاشتن، حتما شفاف بگین که منظورتون چیه، چه چیزی ایراد داره و چی باید درست بشه!
کامنتهای اینجوری باعث گیج شدن طرف مقابل و فحش خوردن میشه:
fix this!
don’t do that!
۲. قبل اینکه حیثیت، عقل و شعور و کد همکارتون رو زیر سوال ببرین، سعی کنین توضیح بخواین. شاید واقعا یه دلیل منطقی برای کاری که کرده داشته باشه که در لحظه به عقل شما نرسیده!
۳. انصافا موقع ریویو وحشیبازی درنیارین! نباید خبری از مچ گیری و ضایع کردن باشه. این از بدیهیاته!
۴. اگه وقت و حوصله ریویو کردن ندارین، به همکارتون اطلاع بدین و کار رو به یه نفر دیگه بسپارین.
۵. کدی که ریویو میکنین نباید اونقدر پیچیده باشه که مغزتون بترکه! اگه به همچین مشکلی برخوردین، حتما از همکارتون بخواین که کدش رو سادهتر کنه چون این دردسر و ناخوانا بودن کد، احتمالا به مرور بیشتر میشه و کلهی آدمای بیشتری رو دچار مشکل میکنه!
۶. اگه از کدی که همکارتون نوشته خوشتون نمیاد، نظرتون هیییییچ اهمیتی نداره! ریویو و کامنت و issue باید براساس فکت، best practice، مستندات و دلایل منطقی باشه، نه سلیقه شخصی شما!
۷. به هیچوجه کد و ریپوی همکارتون رو دستکاری نکنین! اگه کاری قراره انجام بشه، به خودش بگید، مگه اینکه خودش ازتون بخواد که چیزی رو تغییر بدین.
و در مجموع، مهربونتر باشین، خوشاخلاق باشین و نذارید به خودتون و همکاراتون سخت بگذره. زندگی توی ایران به اندازه کافی برای همهمون سخت هست، بذارید حداقل توی محیط کاری یه مقدار بهمون خوش بگذره :)))
آخرین دیدگاهها