C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
GitLab سے محبت کرتے ہیں اور کیڑے سے نفرت کرتے ہیں؟ اپنے سورس کوڈ کے معیار کو بہتر بنانا چاہتے ہیں؟ پھر آپ صحیح جگہ پر آئے ہیں۔ آج ہم آپ کو بتائیں گے کہ انضمام کی درخواستوں کو چیک کرنے کے لیے PVS-Studio C# تجزیہ کار کو کیسے ترتیب دیا جائے۔ ایک تنگاوالا موڈ ہے اور ہر ایک کو پڑھنا خوش ہے۔

PVS- اسٹوڈیو C, C++، C# اور Java میں لکھے گئے پروگراموں کے سورس کوڈ میں غلطیوں اور ممکنہ کمزوریوں کی نشاندہی کرنے کا ایک ٹول ہے۔ ونڈوز، لینکس اور میک او ایس پر 64 بٹ سسٹمز پر کام کرتا ہے۔ 32 بٹ، 64 بٹ اور ایمبیڈڈ اے آر ایم پلیٹ فارمز کے لیے ڈیزائن کردہ کوڈ کا تجزیہ کر سکتا ہے۔

ویسے، ہم نے PVS-Studio 7.08 جاری کیا، جس میں ہم نے بہت ساری چیزیں کیں۔ دلچسپ. مثال کے طور پر:

  • لینکس اور میکوس کے لیے C# تجزیہ کار؛
  • رائڈر کے لیے پلگ ان؛
  • نئی فائل لسٹ چیکنگ موڈ۔

فائل لسٹ چیکنگ موڈ

پہلے، کچھ فائلوں کو چیک کرنے کے لیے، تجزیہ کار کو فائلوں کی فہرست کے ساتھ .xml پاس کرنا ضروری تھا۔ لیکن چونکہ یہ بہت آسان نہیں ہے، ہم نے .txt کو منتقل کرنے کی صلاحیت شامل کی ہے، جو زندگی کو بہت آسان بناتی ہے۔

مخصوص فائلوں کو چیک کرنے کے لیے، آپ کو پرچم کی وضاحت کرنی ہوگی۔ --source فائلز (-f) اور فائلوں کی فہرست کے ساتھ .txt منتقل کریں۔ ایسا لگتا ہے:

pvs-studio-dotnet -t path/to/solution.sln -f fileList.txt -o project.json

اگر آپ کمٹ چیکنگ یا پل کی درخواستیں ترتیب دینے میں دلچسپی رکھتے ہیں، تو آپ اس موڈ کا استعمال کرتے ہوئے بھی ایسا کر سکتے ہیں۔ فرق تجزیہ کرنے کے لیے فائلوں کی فہرست حاصل کرنے میں ہوگا اور اس کا انحصار اس بات پر ہوگا کہ آپ کون سے سسٹم استعمال کررہے ہیں۔

انضمام کی درخواست کو چیک کرنے کا اصول

چیک کا بنیادی جوہر اس بات کو یقینی بنانا ہے کہ انضمام کے دوران تجزیہ کار کے ذریعہ پائے جانے والے مسائل اس میں نہیں آتے ہیں۔ ماسٹر شاخ ہم ہر بار پورے پروجیکٹ کا تجزیہ نہیں کرنا چاہتے۔ مزید برآں، شاخوں کو ضم کرتے وقت، ہمارے پاس تبدیل شدہ فائلوں کی فہرست ہوتی ہے۔ لہذا، میں انضمام کی درخواست کی جانچ کو شامل کرنے کا مشورہ دیتا ہوں۔

جامد تجزیہ کار کو لاگو کرنے سے پہلے انضمام کی درخواست کی طرح نظر آتی ہے:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
یعنی وہ تمام خرابیاں جو برانچ میں تھیں۔ تبدیلیاں، ماسٹر برانچ میں چلے جائیں گے۔ چونکہ ہم یہ نہیں چاہتے ہیں، ہم تجزیہ شامل کرتے ہیں، اور اب خاکہ اس طرح لگتا ہے:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
تجزیہ کرنا تبدیلیاں 2 اور، اگر کوئی غلطیاں نہیں ہیں، تو ہم انضمام کی درخواست کو قبول کرتے ہیں، ورنہ ہم اسے مسترد کر دیتے ہیں۔

ویسے، اگر آپ C/C++ کے لیے کمٹ اور پل کی درخواستوں کا تجزیہ کرنے میں دلچسپی رکھتے ہیں، تو آپ اس کے بارے میں پڑھ سکتے ہیں۔ یہاں.

GitLab

GitLab ایک اوپن سورس ویب پر مبنی DevOps لائف سائیکل ٹول ہے جو Git کے لیے اپنے ویکی، ایشو ٹریکنگ سسٹم، CI/CD پائپ لائن اور دیگر خصوصیات کے ساتھ کوڈ ریپوزٹری مینجمنٹ سسٹم فراہم کرتا ہے۔

اس سے پہلے کہ آپ انضمام کی درخواستوں کا تجزیہ شروع کریں، آپ کو اپنے پروجیکٹ کو رجسٹر کرنے اور اپ لوڈ کرنے کی ضرورت ہے۔ اگر آپ نہیں جانتے کہ یہ کیسے کریں، تو میں تجویز کرتا ہوں۔ مضمون میرے ساتھی

نوٹ. ذیل میں بیان کردہ ماحول کو ترتیب دینے کا طریقہ ممکنہ طریقوں میں سے ایک ہے۔ مقصد تجزیہ کرنے اور تجزیہ کار کو شروع کرنے کے لیے ضروری ماحول کو ترتیب دینے کے لیے اقدامات دکھانا ہے۔ شاید آپ کے معاملے میں ماحول کی تیاری کے مراحل (ذخیروں کو شامل کرنا، تجزیہ کار انسٹال کرنا) اور تجزیہ کو الگ کرنا زیادہ بہتر ہوگا: مثال کے طور پر، ضروری ماحول کے ساتھ Docker امیجز کی تیاری اور ان کا استعمال، یا کوئی اور طریقہ۔

بہتر طور پر سمجھنے کے لیے کہ اب کیا ہوگا، میں مندرجہ ذیل خاکہ کو دیکھنے کا مشورہ دیتا ہوں:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
تجزیہ کار کو کام کرنے کے لیے .NET Core SDK 3 کی ضرورت ہوتی ہے، اس لیے تجزیہ کار کو انسٹال کرنے سے پہلے آپ کو مائیکروسافٹ ریپوزٹریز کو شامل کرنے کی ضرورت ہے جہاں سے تجزیہ کار کے لیے درکار انحصار انسٹال کیے جائیں گے۔ مختلف لینکس کی تقسیم کے لیے مائیکروسافٹ کے ذخیرے شامل کرنا متعلقہ دستاویز میں بیان کیا گیا ہے۔.

پیکیج مینیجر کے ذریعے PVS-Studio انسٹال کرنے کے لیے، آپ کو PVS-Studio ریپوزٹریز کو بھی شامل کرنے کی ضرورت ہوگی۔ مختلف ڈسٹری بیوشنز کے لیے ذخیروں کو شامل کرنا مزید تفصیل میں بیان کیا گیا ہے۔ دستاویزات کا متعلقہ سیکشن.

تجزیہ کار کو کام کرنے کے لیے لائسنس کلید کی ضرورت ہوتی ہے۔ آپ پر آزمائشی لائسنس حاصل کر سکتے ہیں۔ تجزیہ کار ڈاؤن لوڈ صفحہ.

نوٹ. براہ کرم نوٹ کریں کہ بیان کردہ طریقہ کار کے لیے (انضمام کی درخواستوں کا تجزیہ) ایک انٹرپرائز لائسنس کی ضرورت ہے۔ لہذا، اگر آپ اس طرز عمل کو آزمانا چاہتے ہیں، تو "پیغام" فیلڈ میں یہ بتانا نہ بھولیں کہ آپ کو انٹرپرائز لائسنس کی ضرورت ہے۔

اگر انضمام کی درخواست ہوتی ہے، تو ہمیں صرف تبدیل شدہ فائلوں کی فہرست کا تجزیہ کرنے کی ضرورت ہے، ورنہ ہم تمام فائلوں کا تجزیہ کرتے ہیں۔ تجزیہ کے بعد، ہمیں لاگز کو اس فارمیٹ میں تبدیل کرنے کی ضرورت ہے جس کی ہمیں ضرورت ہے۔

اب، کام کا الگورتھم آپ کی آنکھوں کے سامنے رکھتے ہوئے، آپ اسکرپٹ لکھنے کی طرف بڑھ سکتے ہیں۔ ایسا کرنے کے لیے، آپ کو فائل کو تبدیل کرنے کی ضرورت ہے۔ gitlab-ci.yml یا، اگر یہ موجود نہیں ہے، تو اسے بنائیں۔ اسے بنانے کے لیے، آپ کو اپنے پروجیکٹ کے نام -> پر کلک کرنے کی ضرورت ہے۔ CI/CD سیٹ اپ کریں۔.

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
اب ہم اسکرپٹ لکھنے کے لیے تیار ہیں۔ آئیے پہلے کوڈ لکھیں جو تجزیہ کار کو انسٹال کرے گا اور لائسنس درج کرے گا:

before_script:
  - apt-get update && apt-get -y install wget gnupg 

  - apt-get -y install git
  - wget https://packages.microsoft.com/config/debian/10/
packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  - dpkg -i packages-microsoft-prod.deb
  - apt-get update
  - apt-get install apt-transport-https
  - apt-get update
  
  - wget -q -O - https://files.viva64.com/etc/pubkey.txt | apt-key add -
  - wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
  - apt-get update
  - apt-get -y install pvs-studio-dotnet

  - pvs-studio-analyzer credentials $PVS_NAME $PVS_KEY
  - dotnet restore "$CI_PROJECT_DIR"/Test/Test.sln

چونکہ دیگر تمام اسکرپٹ سے پہلے انسٹالیشن اور ایکٹیویشن ہونا ضروری ہے، اس لیے ہم ایک خاص لیبل استعمال کرتے ہیں۔ پہلے_اسکرپٹ. میں اس ٹکڑے کی تھوڑی سی وضاحت کرتا ہوں۔

تجزیہ کار انسٹال کرنے کی تیاری:

  - wget https://packages.microsoft.com/config/debian/10/
packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  - dpkg -i packages-microsoft-prod.deb
  - apt-get update
  - apt-get install apt-transport-https
  - apt-get update

PVS-Studio ذخیروں اور تجزیہ کار کو شامل کرنا:

  - wget -q -O - https://files.viva64.com/etc/pubkey.txt | apt-key add -
  - wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
  - apt-get update
  - apt-get -y install pvs-studio-dotnet

لائسنس ایکٹیویشن:

  - pvs-studio-analyzer credentials $PVS_NAME $PVS_KEY

$PVS_NAME - صارف نام۔

$PVS_KEY - مصنوعہ کلید.

پراجیکٹ انحصار کی وصولی جہاں $CI_PROJECT_DIR - پروجیکٹ ڈائرکٹری کا مکمل راستہ:

  - dotnet restore "$CI_PROJECT_DIR"/Path/To/Solution.sln

درست تجزیے کے لیے، پروجیکٹ کو کامیابی کے ساتھ بنایا جانا چاہیے، اور اس کے انحصار کو بحال کیا جانا چاہیے (مثال کے طور پر، ضروری NuGet پیکجز کو ڈاؤن لوڈ کرنا چاہیے)۔

آپ کلک کر کے لائسنس کی معلومات پر مشتمل ماحولیاتی متغیرات سیٹ کر سکتے ہیں۔ مقرر، اور بعد میں CI/CD.

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
کھلنے والی ونڈو میں، آئٹم تلاش کریں۔ متغیرات، دائیں طرف کے بٹن پر کلک کریں۔ توسیع اور متغیرات شامل کریں۔ نتیجہ اس طرح نظر آنا چاہئے:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
اب آپ تجزیہ کی طرف بڑھ سکتے ہیں۔ پہلے، آئیے مکمل تجزیہ کے لیے ایک اسکرپٹ شامل کریں۔ جھنڈے کو -t ہم پرچم کے حل کے راستے کو منتقل کرتے ہیں -o فائل کا راستہ لکھیں جس میں تجزیہ کے نتائج لکھے جائیں گے۔ ہم واپسی کوڈ میں بھی دلچسپی رکھتے ہیں۔ اس صورت میں، ہم آپریشن کو روکنے میں دلچسپی رکھتے ہیں جب ریٹرن کوڈ میں یہ معلومات موجود ہوں کہ تجزیہ کے دوران انتباہات جاری کیے گئے تھے۔ یہ ٹکڑا ایسا لگتا ہے:

job:
  script:
  - exit_code=0
  - pvs-studio-dotnet -t "$CI_PROJECT_DIR"/Test/Test.sln -o 
PVS-Studio.json || exit_code=$?
  - exit_code=$((($exit_code & 8)/8))
  - if [[ $exit_code == 1 ]]; then exit 1; else exit 0; fi

ریٹرن کوڈز بٹ ماسک کے اصول پر کام کرتے ہیں۔ مثال کے طور پر، اگر تجزیہ کے نتیجے میں انتباہات جاری کیے گئے تھے، تو واپسی کوڈ 8 کے برابر ہوگا۔ اگر لائسنس ایک ماہ کے اندر ختم ہوجاتا ہے، تو واپسی کوڈ 4 کے برابر ہوگا۔ اگر تجزیہ کے دوران غلطیوں کا پتہ چلا، اور لائسنس کی میعاد ایک ماہ کے اندر ختم ہو جاتی ہے، کوڈ کی واپسی، دونوں قدریں لکھی جائیں گی: نمبرز کو ایک ساتھ شامل کریں اور حتمی واپسی کوڈ حاصل کریں - 8+4=12۔ اس طرح، متعلقہ بٹس کو چیک کر کے، تجزیہ کے دوران مختلف ریاستوں کے بارے میں معلومات حاصل کی جا سکتی ہیں۔ ریٹرن کوڈز کو دستاویز کے "pvs-studio-dotnet (Linux/macOS) ریٹرن کوڈز" سیکشن میں مزید تفصیل سے بیان کیا گیا ہے۔PVS-Studio کا استعمال کرتے ہوئے کمانڈ لائن سے Visual Studio / MSBuild / .NET کور پروجیکٹس کو چیک کرنا".

اس صورت میں، ہم تمام واپسی کوڈز میں دلچسپی رکھتے ہیں جہاں 8 ظاہر ہوتا ہے۔

  - exit_code=$((($exit_code & 8)/8))

ہمیں 1 موصول ہوگا جب واپسی کوڈ میں اس نمبر کا تھوڑا سا حصہ ہوگا جس میں ہماری دلچسپی ہے، بصورت دیگر ہمیں 0 موصول ہوگا۔

یہ انضمام کی درخواست کے تجزیہ کو شامل کرنے کا وقت ہے۔ اس سے پہلے کہ ہم ایسا کریں، آئیے اسکرپٹ کے لیے ایک جگہ تیار کریں۔ ہمیں اس پر عمل درآمد کرنے کی ضرورت ہے جب انضمام کی درخواست ہوتی ہے۔ ایسا لگتا ہے:

merge:
  script:
  only:
  - merge_requests

آئیے اسکرپٹ ہی کی طرف چلتے ہیں۔ مجھے اس حقیقت کا سامنا کرنا پڑا کہ ورچوئل مشین کے بارے میں کچھ نہیں معلوم اصل / ماسٹر. تو آئیے اس کی تھوڑی مدد کریں:

  - git fetch origin

اب ہم شاخوں کے درمیان فرق حاصل کرتے ہیں اور نتیجہ کو محفوظ کرتے ہیں۔ TXT فائل:

  - git diff --name-only origin/master $CI_COMMIT_SHA > pvs-fl.txt

Где $CI_COMMIT_SHA - آخری کمٹ کی ہیش۔

اگلا، ہم پرچم کا استعمال کرتے ہوئے فائلوں کی فہرست کا تجزیہ شروع کرتے ہیں -f. ہم پہلے موصول ہونے والی .txt فائل کو اس میں منتقل کرتے ہیں۔ ٹھیک ہے، مکمل تجزیہ کے ساتھ مشابہت کے ساتھ، ہم واپسی کوڈز کو دیکھتے ہیں:

  - exit_code=0
  - pvs-studio-dotnet -t "$CI_PROJECT_DIR"/Test/Test.sln -f 
pvs-fl.txt -o PVS-Studio.json || exit_code=$?
  - exit_code=$((($exit_code & 8)/8))
  - if [[ $exit_code == 1 ]]; then exit 1; else exit 0; fi

انضمام کی درخواست کو چیک کرنے کے لیے مکمل اسکرپٹ اس طرح نظر آئے گا:

merge:
  script:
  - git fetch origin
  - git diff --name-only origin/master $CI_COMMIT_SHA > pvs-fl.txt
  - exit_code=0
  - pvs-studio-dotnet -t "$CI_PROJECT_DIR"/Test/Test.sln -f 
pvs-fl.txt -o PVS-Studio.json || exit_code=$?
  - exit_code=$((($exit_code & 8)/8))
  - if [[ $exit_code == 1 ]]; then exit 1; else exit 0; fi
  only:
  - merge_requests

تمام اسکرپٹس پر کارروائی کے بعد لاگ کنورژن شامل کرنا باقی ہے۔ ہم لیبل استعمال کرتے ہیں۔ after_script اور افادیت پلگ کنورٹر:

after_script:
  - plog-converter -t html -o eLog ./PVS-Studio.json

افادیت۔ پلگ کنورٹر ایک اوپن سورس پروجیکٹ ہے جو پارسر ایرر رپورٹس کو مختلف شکلوں میں تبدیل کرنے کے لیے استعمال ہوتا ہے، جیسے کہ HTML۔ افادیت کی مزید تفصیل ذیلی سیکشن "پلاگ کنورٹر یوٹیلیٹی" میں دی گئی ہے۔ دستاویزات کا متعلقہ سیکشن.

ویسے، اگر آپ IDE سے مقامی طور پر .json رپورٹس کے ساتھ آسانی سے کام کرنا چاہتے ہیں، تو میں تجویز کرتا ہوں کہ ہماری پلگ ان IDE رائڈر کے لیے۔ اس کے استعمال کو مزید تفصیل سے بیان کیا گیا ہے۔ متعلقہ دستاویز.

سہولت کے لیے، یہ یہاں ہے۔ gitlab-ci.yml مکمل میں:

image: debian

before_script:
  - apt-get update && apt-get -y install wget gnupg 

  - apt-get -y install git
  - wget https://packages.microsoft.com/config/debian/10/
packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  - dpkg -i packages-microsoft-prod.deb
  - apt-get update
  - apt-get install apt-transport-https
  - apt-get update
  
  - wget -q -O - https://files.viva64.com/etc/pubkey.txt | apt-key add -
  - wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
  - apt-get update
  - apt-get -y install pvs-studio-dotnet

  - pvs-studio-analyzer credentials $PVS_NAME $PVS_KEY
  - dotnet restore "$CI_PROJECT_DIR"/Test/Test.sln

merge:
  script:
  - git fetch origin
  - git diff --name-only origin/master $CI_COMMIT_SHA > pvs-fl.txt
  - exit_code=0
  - pvs-studio-dotnet -t "$CI_PROJECT_DIR"/Test/Test.sln -f 
pvs-fl.txt -o PVS-Studio.json || exit_code=$?
  - exit_code=$((($exit_code & 8)/8))
  - if [[ $exit_code == 1 ]]; then exit 1; else exit 0; fi
  only:
  - merge_requests

job:
  script:
  - exit_code=0
  - pvs-studio-dotnet -t "$CI_PROJECT_DIR"/Test/Test.sln -o 
PVS-Studio.json || exit_code=$?
  - exit_code=$((($exit_code & 8)/8))
  - if [[ $exit_code == 1 ]]; then exit 1; else exit 0; fi
  
after_script:
  - plog-converter -t html -o eLog ./PVS-Studio.json

ایک بار جب آپ فائل میں سب کچھ شامل کر لیں تو، پر کلک کریں۔ تبدیلیوں کا عہد کریں۔. یہ دیکھنے کے لیے کہ سب کچھ درست ہے، پر جائیں۔ CI / CD -> پائپ لائنز -> چل رہا ہے. ایک ورچوئل مشین ونڈو کھلے گی، جس کے آخر میں درج ذیل ہونا چاہیے:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
دیکھا کام کامیاب ہو گیا۔ - کامیابی، سب کچھ ٹھیک ہے. اب آپ جانچ سکتے ہیں کہ آپ نے کیا کیا ہے۔

کام کی مثالیں۔

کام کی مثال کے لیے، آئیے ایک سادہ پروجیکٹ بناتے ہیں (میں ماسٹر) جس میں کئی فائلیں ہوں گی۔ اس کے بعد، دوسری برانچ میں ہم صرف ایک فائل کو تبدیل کریں گے اور انضمام کی درخواست کرنے کی کوشش کریں گے۔

آئیے دو صورتوں پر غور کریں: جب ترمیم شدہ فائل میں کوئی خرابی ہے اور کب نہیں ہے۔ سب سے پہلے، غلطی کے ساتھ ایک مثال۔

ہم کہتے ہیں کہ ماسٹر برانچ میں ایک فائل ہے۔ Program.cs، جس میں غلطیاں نہیں ہیں، لیکن ایک اور برانچ میں ڈویلپر نے غلط کوڈ شامل کیا ہے اور انضمام کی درخواست کرنا چاہتا ہے۔ اس نے کس قسم کی غلطی کی یہ اتنا اہم نہیں ہے، اہم بات یہ ہے کہ یہ موجود ہے۔ مثال کے طور پر، آپریٹر بھول گیا پھینک (جی ہاں، بہت غلط):

void MyAwesomeMethod(String name)
{
  if (name == null)
    new ArgumentNullException(....);
  // do something
  ....
}

آئیے ایک غلطی کے ساتھ ایک مثال کا تجزیہ کرنے کا نتیجہ دیکھتے ہیں۔ یہ بھی یقینی بنانے کے لیے کہ صرف ایک فائل کو پارس کیا گیا تھا، میں نے جھنڈا شامل کیا۔ -r pvs-studio-dotnet لانچ لائن پر:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
ہم دیکھتے ہیں کہ تجزیہ کار کو ایک خامی ملی اور اس نے شاخوں کو ضم کرنے کی اجازت نہیں دی۔

آئیے بغیر کسی غلطی کے مثال کو چیک کریں۔ کوڈ کو درست کرنا:

void MyAwesomeMethod(String name)
{
  if (name == null)
    throw new ArgumentNullException(....);
  // do something
  ....
}

ضم کرنے کی درخواست کے تجزیہ کے نتائج:

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
جیسا کہ ہم دیکھ سکتے ہیں، کوئی غلطیاں نہیں پائی گئیں، اور ٹاسک پر عمل درآمد کامیاب رہا، جسے ہم چیک کرنا چاہتے تھے۔

حاصل يہ ہوا

شاخوں کو ضم کرنے سے پہلے خراب کوڈ کو ختم کرنا بہت آسان اور خوشگوار ہے۔ لہذا اگر آپ CI/CD استعمال کر رہے ہیں تو چیک کرنے کے لیے جامد تجزیہ کار کو سرایت کرنے کی کوشش کریں۔ اس کے علاوہ، یہ بہت آسان ہے.

آپ کی توجہ کے لئے آپ کا شکریہ.

C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ
اگر آپ انگریزی بولنے والے سامعین کے ساتھ اس مضمون کا اشتراک کرنا چاہتے ہیں، تو براہ کرم ترجمہ کا لنک استعمال کریں: نیکولے میرونوف۔ C# کے لیے PVS-Studio کا استعمال کرتے ہوئے GitLab میں انضمام کی درخواستوں کا تجزیہ.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں