مراجعة رمز النظام باستخدام أدوات git

في بعض الأحيان ، من الضروري ترك تعليق حول التعليمات البرمجية المصدر في المستودع ككل ، على سبيل المثال ، عند قبول التعليمات البرمجية للحصول على الدعم من المطورين الآخرين أو عند الاتصال بمشروع جديد.


تتمحور عمليات المراجعة في Github ونظائرها حول التغييرات التي تم إجراؤها ، وفي حالتنا ، يجب إعطاء التعليقات لحالة رمز النظام بالكامل في وقت التعليق.


كيفية القيام بذلك باستخدام git نفسه: أصلح الحالة في فرع المراجعة ، ثم اترك تعليقاتك في طلب الدمج لهذا الفرع.


بشكل عام ، تم ذكر جوهر الطريقة بالفعل ، فيما يلي بعض التفاصيل فقط.


القضية


تخيل الموقف: إنهم يعطونك مستودعًا بالكود ويطلبون رأيك فيه. عادة في مثل هذه الحالات ، يتم إجراء التعليقات في وثيقة / مهمة / صفحة منفصلة في التقاء ، وما إلى ذلك ، وهو ليس مناسبًا للغاية كما يلي:


  1. قد تصبح التعليقات قديمة أثناء عملية الكتابة ، حيث قد يستمر التطوير.
  2. من الصعب الرجوع إلى أقسام فردية من الكود ؛ فالمراجع مثل مشكوك فيه / bar.js: 4 غير ملائمة ببساطة للتبديل باستمرار بين المستند والكود .
  3. بمعزل عن الرمز ، يتم فقدان المستند باحتمالية عالية إلى حد ما.

طريقة مراجعة رمز النظام


لذا ، نحتاج إلى القيام بما يلي: إصلاح الحالة في الفرع للمراجعة ، ثم ترك تعليقاتك في طلب الدمج لهذا الفرع.
باستخدام مثال المستودع المُعد للملاحظة https://github.com/oktend/system-review-example ، سنقوم بالخطوات التالية:


  1. نجد الحالة في المستودع للمراجعة (في وقت المراجعة كان هذا آخر التزام في dev):
    https://github.com/oktend/system-review-example/commit/0514531a35edf19e7032eb49f45a98d019f83efe
  2. فرع من الولاية المختارة فرع لمراجعة نظامنا ، على سبيل المثال ، "system-review / 1march2020-goodman":
    https://github.com/oktend/system-review-example/tree/system-review/1march2020-goodman
  3. , , "1march2020-goodman-issues":
    https://github.com/oktend/system-review-example/tree/system-review/1march2020-goodman-issues
  4. , , .
  5. merge request ( pull request) "system-review/1march2020-goodman-issues" -> "system-review/1march2020-goodman":
    https://github.com/oktend/system-review-example/pull/1/files

:
صورة
https://github.com/oktend/system-review-example/network



merge request , .
, .


:
https://github.com/oktend/system-review-example/blob/c80b03710059b235347ec781bf08dca9c0e68f7d/review-1march2020-goodman.md
:
https://github.com/oktend/system-review-example/blob/c80b03710059b235347ec781bf08dca9c0e68f7d/foo.js


- github ( ), IDE, git.


, .



أعترف تمامًا بإمكانية إعادة اختراع الدراجة وأن هناك طريقة أفضل لمثل هذه الحالات ، فسأكون ممتنًا للإشارة إلى أفضل طريقة.


لم أخترعني فكرة هذه الطريقة ، ولكن تم اقتراحها من قبل مطور واحد ، إذا عبر Artem عن رغبة ، فسوف أشير إلى أنني المؤلف.


All Articles