جامد تجزيو - تعارف کان انضمام تائين

لامحدود ڪوڊ جي نظرثاني يا ڊيبگنگ کان ٿڪل، ڪڏهن ڪڏهن توهان سوچيو ٿا ته توهان جي زندگي کي ڪيئن آسان بڻائي. ۽ ٿوري ڳولها کان پوء، يا اتفاقي طور تي ان تي ٺڳيء سان، توهان ڏسي سگهو ٿا جادو جملي: "جامد تجزيي". اچو ته ڏسو ته اهو ڇا آهي ۽ اهو توهان جي منصوبي سان ڪيئن لهه وچڙ ڪري سگهي ٿو.

جامد تجزيو - تعارف کان انضمام تائين
حقيقت ۾، جيڪڏهن توهان ڪنهن به جديد ٻولي ۾ لکندا آهيو، ته پوء، ان کي سمجهڻ کان سواء، توهان ان کي هڪ جامد تجزيي ذريعي هلائي ڇڏيو. حقيقت اها آهي ته ڪو به جديد ڪمپلر مهيا ڪري ٿو، جيتوڻيڪ هڪ ننڍڙو، ڪوڊ ۾ امڪاني مسئلن بابت ڊيڄاريندڙن جو سيٽ. مثال طور، جڏهن بصري اسٽوڊيو ۾ C++ ڪوڊ گڏ ڪري رهيا آهيو توهان شايد هيٺيان ڏسي سگهو ٿا:

جامد تجزيو - تعارف کان انضمام تائين
هن آئوٽ ۾ اسان ڏسون ٿا ته متغير var فنڪشن ۾ ڪٿي به استعمال نه ڪيو ويو. تنهن ڪري حقيقت ۾، توهان تقريبن هميشه هڪ سادي جامد ڪوڊ تجزيه ڪندڙ استعمال ڪيو. بهرحال، پروفيشنل تجزيه نگارن جي برعڪس جهڙوڪ Coverity، Klocwork يا PVS-Studio، گڏ ڪندڙ پاران مهيا ڪيل ڊيڄاريندڙ صرف مسئلن جي هڪ ننڍڙي حد کي ظاهر ڪري سگھن ٿا.

جيڪڏهن توهان کي پڪ ناهي ته جامد تجزيو ڇا آهي ۽ ان کي ڪيئن لاڳو ڪجي، هي مضمون پڙهوهن طريقي جي باري ۾ وڌيڪ سکڻ لاء.

توهان کي جامد تجزيي جي ضرورت ڇو آهي؟

مختصر ۾: تيز رفتار ۽ سادگي.

جامد تجزيو توهان کي ڪوڊ ۾ ڪيترائي مختلف مسئلا ڳولڻ جي اجازت ڏئي ٿو: ٻولي جي غلط استعمال کان وٺي ٽائپس تائين. مثال طور، بدران

auto x = obj.x;
auto y = obj.y;
auto z = obj.z;

توھان ھيٺ ڏنل ڪوڊ لکيو آھي:

auto x = obj.x;
auto y = obj.y;
auto z = obj.x;

جئين توهان ڏسي سگهو ٿا، آخري لائن ۾ هڪ ٽائپو آهي. مثال طور، PVS-Studio ھيٺ ڏنل ڊيڄاريندڙ مسئلا:

V537 غور ڪريو 'y' شين جي استعمال جي صحيحيت جو جائزو وٺو.

جيڪڏھن توھان چاھيو ٿا ته پنھنجي ھٿن کي ھن غلطي ۾، ھڪڙي تيار ڪيل مثال جي ڪوشش ڪريو Compiler Explorer ۾: *روئڻ*.

۽ جيئن توهان سمجھو ٿا، اهو هميشه ممڪن ناهي ته ڪوڊ جي اهڙن حصن تي فوري طور تي ڌيان ڏيو، ۽ انهي جي ڪري، توهان هڪ سٺي ڪلاڪ لاء ڊيبگنگ ڪري سگهو ٿا، حيران ٿي ته هر شيء ايترو عجيب ڪم ڪري ٿي.

بهرحال، اهو واضح طور تي هڪ غلطي آهي. ڇا ٿيندو جيڪڏهن ڊولپر suboptimal ڪوڊ لکيو ڇو ته هن ٻولي جي ڪجهه ذيلي ذخيري کي وساري ڇڏيو؟ يا ان کي ڪوڊ ۾ پڻ اجازت ڏني وئي غير واضح رويي؟ بدقسمتي سان، اهڙا ڪيس مڪمل طور تي عام آهن ۽ وقت جو وڏو حصو ڊيبگنگ ۾ خرچ ڪيو ويندو آهي خاص طور تي ڪم ڪندڙ ڪوڊ جنهن ۾ ٽائپس، عام غلطيون يا اڻ ڄاڻايل رويي شامل آهن.

اهو انهن حالتن لاء آهي ته جامد تجزيو ظاهر ٿيو. هي ڊولپر لاءِ هڪ اسسٽنٽ آهي جيڪو ڪوڊ ۾ مختلف مسئلن جي نشاندهي ڪندو ۽ دستاويزن ۾ وضاحت ڪندو ته ان طريقي سان لکڻ ضروري ڇو نه آهي، اهو ڇا ٿي سگهي ٿو ۽ ان کي ڪيئن حل ڪجي. هتي هڪ مثال آهي ته اهو ڇا ٿي سگهي ٿو: *روئڻ*.

توھان ڳولي سگھوٿا وڌيڪ دلچسپ غلطيون جيڪي تجزيو ڪندڙ مضمونن ۾ ڳولي سگھن ٿا:

ھاڻي جڏھن توھان ھي مواد پڙھيو آھي ۽ جامد تجزيو جي فائدن جا قائل آھيو، توھان شايد ان کي آزمائڻ چاھيو. پر ڪٿان شروع ڪجي؟ توهان جي موجوده منصوبي ۾ هڪ نئين اوزار کي ڪيئن ضم ڪرڻ؟ ۽ هن کي ٽيم ڪيئن متعارف ڪرايو؟ توھان ھيٺ ڏنل سوالن جا جواب ڳوليندا.

نوٽ: جامد تجزيو اهڙي مفيد شيءِ کي تبديل يا منسوخ نٿو ڪري جيئن ڪوڊ جائزو. اهو هن عمل کي پورو ڪري ٿو، اڳ ۾ ئي ٽائپس، غلطيون، ۽ خطرناڪ ڊيزائن کي نوٽيس ۽ درست ڪرڻ ۾ مدد ڪري ٿو. اهو تمام گهڻو ڪارائتو آهي ڪوڊ جي نظرثانين تي الورورٿمز ۽ ڪوڊ جي وضاحت تي ڌيان ڏيڻ بجاءِ غلط جاءِ تي قوس يا بورنگ موازنہ افعال پڙهو.

0. اوزار جي ڄاڻ حاصل ڪرڻ

اهو سڀ هڪ آزمائشي ورجن سان شروع ٿئي ٿو. درحقيقت، اهو ڏکيو آهي ته ڪنهن به شيء کي ترقي جي عمل ۾ لاڳو ڪرڻ جو فيصلو ڪيو وڃي جيڪڏهن توهان ڪڏهن به اوزار کي اڳ ۾ نه ڏٺو آهي. تنهن ڪري، پهرين شيء توهان کي ڪرڻ گهرجي ڊائون لوڊ آهي آزمائشي نسخو.

هن مرحلي ۾ توهان ڇا سکندا:

  • تجزيه نگار سان لهه وچڙ جا ڪهڙا طريقا آهن؛
  • ڇا تجزيو ڪندڙ توهان جي ترقي واري ماحول سان مطابقت رکي ٿو؟
  • توهان جي منصوبن ۾ هن وقت ڪهڙا مسئلا آهن؟

توھان کان پوءِ توھان کي ھر شيءِ انسٽال ڪرڻ کان پوءِ توھان کي ضرورت آھي، پھرين شيءِ توھان کي ڪرڻ گھرجي پوري منصوبي جو تجزيو ڪرڻ (ونڊوز, لينڪس, macOS). بصري اسٽوڊيو ۾ PVS-اسٽوڊيو جي صورت ۾ توهان هڪ جهڙي تصوير ڏسندا (ڪلڪ ڪرڻ لائق):

جامد تجزيو - تعارف کان انضمام تائين
حقيقت اها آهي ته جامد تجزيه ڪندڙ اڪثر ڪري وڏي تعداد ۾ ڊيڄاريندڙن کي جاري ڪن ٿا منصوبن لاءِ وڏي ڪوڊ بيس سان. انهن سڀني کي درست ڪرڻ جي ڪا ضرورت ناهي، ڇو ته توهان جو منصوبو اڳ ۾ ئي ڪم ڪري رهيو آهي، جنهن جو مطلب آهي ته اهي مسئلا نازڪ نه آهن. تنهن هوندي به، توهان توھان ڏسي سگھوٿا سڀ کان وڌيڪ دلچسپ ڊيڄاريندڙ ۽ جيڪڏهن ضروري هجي ته ان کي درست ڪريو. هن کي ڪرڻ لاء، توهان کي آئوٽ فلٽر ڪرڻ جي ضرورت آهي ۽ صرف سڀ کان وڌيڪ قابل اعتماد پيغام ڇڏي ڏيو. بصري اسٽوڊيو لاءِ PVS-اسٽوڊيو پلگ ان ۾، اهو ڪيو ويندو آهي فلٽرنگ ذريعي غلطي جي سطحن ۽ زمرے. سڀ کان وڌيڪ صحيح پيداوار لاء، صرف ڇڏي ڏيو هاء и جنرل (پڻ ڪلڪ ڪري سگهجي ٿو):

جامد تجزيو - تعارف کان انضمام تائين
درحقيقت، 178 ڊيڄاريندڙ ڪيترن ئي هزارن کان وڌيڪ ڏسڻ ۾ آسان آهن ...

ٽيب ۾ وچولو и گھٽ اڪثر ڪري چڱا ڊيڄاريندڙ هوندا آهن، پر انهن قسمن ۾ اهي تشخيص شامل آهن جن ۾ گهٽ درستي (معتبر) آهي. ڊيڄاريندڙ سطحن ۽ ونڊوز تحت ڪم ڪرڻ لاءِ اختيارن بابت وڌيڪ معلومات هتي ملي سگهي ٿي: *روئڻ*.

ڪاميابيءَ سان تمام دلچسپ غلطين جو جائزو وٺڻ (۽ ڪاميابيءَ سان انھن کي درست ڪيو) قابل آھي باقي ڊيڄاريندڙن کي دٻايو. اهو ضروري آهي ته نئين ڊيڄاريندڙن جي وچ ۾ گم ٿي نه وڃن. ان کان سواء، هڪ جامد تجزيه ڪندڙ پروگرامر لاء هڪ اسسٽنٽ آهي، ۽ نه ڪي جي فهرست. 🙂

1. خودمختاري

واقف ٿيڻ کان پوء، اهو پلگ ان کي ترتيب ڏيڻ ۽ CI ۾ ضم ڪرڻ جو وقت آهي. اهو ٿيڻ گهرجي ان کان اڳ جو پروگرامر جامد تجزيي کي استعمال ڪرڻ شروع ڪن. حقيقت اها آهي ته پروگرامر تجزيي کي فعال ڪرڻ لاء وساري سگهي ٿو يا اهو نه ڪرڻ چاهيندو آهي. هن کي ڪرڻ لاءِ، توهان کي هر شيءِ جي حتمي جانچ ڪرڻ جي ضرورت آهي ته جيئن اڻ جانچيل ڪوڊ جنرل ڊولپمينٽ برانچ ۾ نه اچي سگهي.

هن مرحلي ۾ توهان ڇا سکندا:

  • اوزار ڪهڙي آٽوميشن جا اختيار مهيا ڪندو آهي؛
  • ڇا تجزيو ڪندڙ توهان جي اسيمبليء جي نظام سان مطابقت رکي ٿو؟

جيئن ته مڪمل دستاويز موجود ناهي، ڪڏهن ڪڏهن توهان کي لکڻو پوندو مدد. اهو عام آهي ۽ اسان توهان جي مدد ڪرڻ ۾ خوش آهيون. 🙂

ھاڻي اچو ته ھلون لڳاتار انضمام (CI) خدمتن ڏانھن. ڪنهن به تجزيي کي ڪنهن به سنجيده مسئلن کان سواء انهن ۾ لاڳو ڪري سگهجي ٿو. هن کي ڪرڻ لاء، توهان کي پائپ لائن ۾ هڪ الڳ اسٽيج ٺاهڻ جي ضرورت آهي، جيڪا عام طور تي تعمير ۽ يونٽ ٽيسٽ کان پوء واقع آهي. اهو مختلف ڪنسول افاديت استعمال ڪندي ڪيو ويندو آهي. مثال طور، PVS-اسٽوڊيو مهيا ڪري ٿو هيٺين افاديت:

تجزيي کي CI ۾ ضم ڪرڻ لاءِ، توهان کي ٽي شيون ڪرڻ گهرجن:

  • تجزيي کي انسٽال ڪريو؛
  • هلائڻ جو تجزيو؛
  • نتيجا ڏيو.

مثال طور، لينڪس (Debian-base) تي PVS-Studio انسٽال ڪرڻ لاءِ، توھان کي ھيٺ ڏنل حڪمن کي هلائڻو پوندو.

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

ونڊوز تي هلندڙ سسٽم تي، پيڪيج مئنيجر کان تجزيي کي انسٽال ڪرڻ جو ڪو طريقو ناهي، پر اهو ممڪن آهي ته ڪمانڊ لائن مان تجزيي کي ترتيب ڏيو:

PVS-Studio_setup.exe /verysilent /suppressmsgboxes 
/norestart /nocloseapplications

توھان وڌيڪ پڙھي سگھو ٿا PVS-Studio کي ترتيب ڏيڻ بابت ونڊوز تي هلندڙ سسٽم *هتي*.

انسٽاليشن کان پوء، توهان کي سڌو سنئون تجزيو هلائڻ جي ضرورت آهي. تنهن هوندي به، ان کي ڪرڻ جي صلاح ڏني آهي صرف تاليف ۽ ٽيسٽ پاس ڪرڻ کان پوء. اهو ئي سبب آهي ته جامد تجزيي عام طور تي تاليف جي ڀيٽ ۾ ٻه ڀيرا وٺندو آهي.

جيئن ته لانچ جو طريقو پليٽ فارم ۽ پروجيڪٽ جي خاصيتن تي منحصر آهي، آئون مثال طور C++ (لينڪس) لاءِ اختيار ڏيکاريندس:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log
plog-converter -t errorfile PVS-Studio.log --cerr -w

پهريون حڪم تجزيو انجام ڏيندو، ۽ ٻيو لفافورپورٽ کي ٽيڪسٽ فارميٽ ۾ بدلائي ٿو، ان کي اسڪرين تي ڏيکاري ٿو ۽ 0 کان سواءِ ريٽرن ڪوڊ موٽائي ٿو جيڪڏھن خبردار ھجي. هن طرح هڪ ميکانيزم آساني سان استعمال ڪري سگهجي ٿو تعمير کي بلاڪ ڪرڻ لاءِ جڏهن غلطي جا پيغام موجود آهن. بهرحال، توهان هميشه پرچم کي هٽائي سگهو ٿا -w ۽ اهڙي اسيمبلي کي بلاڪ نه ڪريو جنهن ۾ ڊيڄاريندڙ هجي.

نوٽ: ٽيڪسٽ فارميٽ ناگزير آهي. اهو صرف هڪ مثال طور پيش ڪيو ويو آهي. وڌيڪ دلچسپ رپورٽ فارميٽ تي ڌيان ڏيو - FullHtml. اهو توهان کي ڪوڊ ذريعي نيويگيٽ ڪرڻ جي اجازت ڏئي ٿو.

توهان آرٽيڪل ۾ سي آءِ تي تجزيو قائم ڪرڻ بابت وڌيڪ پڙهي سگهو ٿا "PVS-اسٽوڊيو ۽ مسلسل انضمام"(ونڊوز) يا"Travis CI ۾ PVS-اسٽوڊيو ڪيئن قائم ڪجي"(لينڪس).

ٺيڪ آهي، توهان تجزيي کي ترتيب ڏيڻ واري سرور تي ترتيب ڏنو آهي. هاڻي، جيڪڏهن ڪو اڻ ٽيسٽ ٿيل ڪوڊ اپ لوڊ ڪري ٿو، تصديق جو مرحلو ناڪام ٿي ويندو، ۽ توهان مسئلي کي معلوم ڪرڻ جي قابل ٿي ويندا، جڏهن ته، اهو مڪمل طور تي آسان ناهي، ڇاڪاڻ ته اهو وڌيڪ ڪارائتو آهي ته پروجيڪٽ کي جانچڻ کان پوء شاخن کي ضم ٿيڻ کان پوء نه، پر. ان کان اڳ، پل جي درخواست جي اسٽيج تي.

عام طور تي، هڪ پل جي درخواست جي تجزيو کي ترتيب ڏيڻ CI تي تجزيي جي معمولي لانچ کان گهڻو مختلف ناهي. تبديل ٿيل فائلن جي فهرست حاصل ڪرڻ جي ضرورت کان سواء. اهي عام طور تي حاصل ڪري سگھجن ٿيون شاخن جي وچ ۾ فرق پڇڻ سان git استعمال ڪندي:

git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list

ھاڻي توھان کي فائلن جي ھن لسٽ کي ان پٽ طور تجزيو ڪندڙ ڏانھن منتقل ڪرڻ جي ضرورت آھي. مثال طور، PVS-اسٽوڊيو ۾ اهو پرچم استعمال ڪندي لاڳو ڪيو ويو آهي -S:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log 
                            -S .pvs-pr.list

توهان پل جي درخواستن جي تجزيو بابت وڌيڪ ڳولي سگهو ٿا *هتي*. جيتوڻيڪ توهان جو CI مضمون ۾ ذڪر ڪيل خدمتن جي فهرست تي نه آهي، توهان کي هن قسم جي تجزيي جي نظريي لاء وقف ڪيل عام سيڪشن مفيد ملندو.

پل جي درخواستن جي تجزيي کي ترتيب ڏيڻ سان، توهان ڊيڄاريندڙن تي مشتمل ڪمن کي بلاڪ ڪري سگهو ٿا، اهڙي طرح هڪ حد ٺاهي ٿي جيڪا اڻ آزمائشي ڪوڊ پار نه ٿي سگهي.

اهو سڀ ڪجهه ضرور سٺو آهي، پر مان چاهيان ٿو ته سڀني ڊيڄاريندڙن کي هڪ جاءِ تي ڏسي سگهان. نه رڳو جامد تجزيي کان، پر يونٽ ٽيسٽ يا متحرڪ تجزيي کان پڻ. ھن لاءِ مختلف خدمتون ۽ پلگ ان آھن. PVS-اسٽوڊيو، مثال طور، آهي SonarQube ۾ انضمام لاءِ پلگ ان.

2. ڊولپر مشينن تي انضمام

هاڻي اهو وقت آهي انسٽال ڪرڻ ۽ ترتيب ڏيڻ جو تجزيه روزمره جي ترقي جي استعمال لاءِ. ھن نقطي تائين توھان اڳ ۾ ئي ڪم ڪرڻ جي گھڻن طريقن کان واقف ٿي چڪا آھيو، تنھنڪري اھو سڀ کان آسان حصو چئي سگھجي ٿو.

آسان ترين اختيار جي طور تي، ڊولپرز پاڻ کي لازمي تجزيي کي نصب ڪري سگھن ٿا. بهرحال، اهو گهڻو وقت وٺندو ۽ انهن کي ترقي کان پريشان ڪندو، تنهنڪري توهان انسٽالر ۽ ضروري پرچم استعمال ڪندي هن عمل کي خودڪار ڪري سگهو ٿا. PVS-اسٽوڊيو لاء مختلف آهن خودڪار تنصيب لاء پرچم. بهرحال، اتي هميشه پئڪيج مينيجرز آهن، مثال طور، چاڪليٽ (ونڊوز)، هومبرو (macOS) يا لينڪس لاءِ درجن جا آپشن.

پوء توهان کي لازمي پلگ ان انسٽال ڪرڻ جي ضرورت پوندي، مثال طور ڏسڻ اسٽوڊيو, اي اي اي اي, سوار وغيره.

3. روزاني استعمال

هن اسٽيج تي، اهو وقت آهي چند لفظن کي روزاني استعمال دوران تجزيي کي تيز ڪرڻ جي طريقن بابت. پوري پروجيڪٽ جي مڪمل تجزيي ۾ تمام گهڻو وقت لڳندو آهي، پر اسان ڪيترا ڀيرا ڪوڊ تبديل ڪريون ٿا پوري پروجيڪٽ ۾ هڪ ئي وقت؟ هتي شايد ئي ڪو ريفيڪٽرنگ آهي جيڪو ايترو وڏو آهي ته اهو فوري طور تي پوري ڪوڊ بيس کي متاثر ڪندو. فائلن جو تعداد هڪ وقت ۾ تبديل ٿي رهيو آهي گهٽ ۾ گهٽ هڪ درجن کان وڌيڪ آهي، تنهنڪري اهو انهن جو تجزيو ڪرڻ جو احساس آهي. اهڙي صورتحال لاء اتي آهي وڌندڙ تجزيو موڊ. بس پريشان نه ٿيو، هي ٻيو اوزار ناهي. هي هڪ خاص موڊ آهي جيڪو توهان کي صرف تبديل ٿيل فائلن ۽ انهن جي انحصار جو تجزيو ڪرڻ جي اجازت ڏئي ٿو، ۽ اهو خود بخود ٿي ويندو عمارت کان پوءِ جيڪڏهن توهان هڪ IDE ۾ ڪم ڪري رهيا آهيو پلگ ان سان.

جيڪڏهن تجزيه ڪندڙ تازو تبديل ٿيل ڪوڊ ۾ مسئلا ڳولي ٿو، اهو آزاديء سان رپورٽ ڪندو. مثال طور، PVS-Studio توهان کي ان بابت خبردار ڪندي ٻڌائيندو:

جامد تجزيو - تعارف کان انضمام تائين
يقينا، ڊولپرز کي اوزار استعمال ڪرڻ لاء ڪافي نه آهي. اسان کي ڪنهن به طرح انهن کي ٻڌائڻ جي ضرورت آهي ته اهو ڇا آهي ۽ اهو ڪيئن آهي. هتي، مثال طور، PVS-Studio لاءِ تڪڙي شروعات بابت آرٽيڪل آهن، پر توهان ڳولي سگهو ٿا ساڳيا سبق ڪنهن به اوزار لاءِ جيڪي توهان چاهيو ٿا:

اهڙا آرٽيڪل روزمره جي استعمال لاءِ تمام ضروري معلومات مهيا ڪن ٿا ۽ گهڻو وقت نٿا وٺن. 🙂

جيتوڻيڪ اوزار کي ڄاڻڻ جي اسٽيج تي، اسان پهرين لانچن مان هڪ دوران ڪيترن ئي ڊيڄاريندڙن کي دٻايو. بدقسمتي سان، جامد تجزيي وارا مڪمل نه آهن، تنهنڪري وقت وقت تي اهي غلط مثبت ڏيو. اهو عام طور تي انهن کي دٻائڻ آسان آهي؛ مثال طور، PVS-Studio پلگ ان ۾ Visual Studio لاءِ توهان کي صرف هڪ بٽڻ تي ڪلڪ ڪرڻ جي ضرورت آهي:

جامد تجزيو - تعارف کان انضمام تائين
تنهن هوندي، توهان صرف انهن کي دٻائڻ کان وڌيڪ ڪري سگهو ٿا. مثال طور، توهان مدد لاء هڪ مسئلو رپورٽ ڪري سگهو ٿا. جيڪڏهن غلط مثبت کي درست ڪري سگهجي ٿو، ته پوءِ مستقبل جي تازه ڪارين ۾ توهان نوٽيس ڪري سگهو ٿا ته هر وقت توهان جي ڪوڊ بيس لاءِ مخصوص ۽ گهٽ غلط مثبت آهن.

انضمام کان پوء

تنهنڪري اسان ترقي جي عمل ۾ جامد تجزيي کي ضم ڪرڻ جي سڀني مرحلن مان گذري چڪا آهيون. CI تي اهڙن اوزارن کي ترتيب ڏيڻ جي اهميت جي باوجود، انهن کي هلائڻ لاءِ سڀ کان اهم جڳهه ڊولپر جو ڪمپيوٽر آهي. آخرڪار، هڪ جامد تجزيه ڪندڙ جج نه آهي جيڪو توهان کان پري ڪٿي چوي ٿو ته ڪوڊ سٺو ناهي. ان جي برعڪس، اهو هڪ اسسٽنٽ آهي جيڪو توهان کي ٻڌائي ٿو ته توهان ٿڪل آهيو ۽ توهان کي ياد ڏياريندو آهي ته توهان ڪجهه وساري ڇڏيو آهي.

سچ، باقاعده استعمال کان سواء، جامد تجزيو ممڪن ناهي ته ترقي کي آسان بڻائي سگهجي. آخرڪار، هڪ ڊولپر لاء ان جو بنيادي فائدو ڪوڊ جي پيچيده ۽ تڪراري حصن جي ڳولا ۾ گهڻو نه آهي، پر انهن جي شروعاتي ڳولڻ ۾. ان ڳالهه تي متفق آهيون ته تبديلين جي جاچ لاءِ موڪلڻ کان پوءِ ڪنهن مسئلي کي دريافت ڪرڻ نه رڳو ناپسنديده آهي، پر تمام گهڻو وقت وٺندڙ به آهي. جامد تجزيو، جڏهن باقاعده استعمال ڪيو وڃي، هر تبديلي کي سڌو سنئون توهان جي ڪمپيوٽر تي ڏسي ٿو ۽ ڪوڊ تي ڪم ڪرڻ دوران مشڪوڪ هنڌن جي رپورٽ ڪري ٿو.

۽ جيڪڏهن توهان يا توهان جا ساٿي اڃا تائين پڪ ناهي ته ڇا اهو تجزيي کي لاڳو ڪرڻ جي قابل آهي، پوء مان توهان کي مشورو ڏيان ٿو ته توهان هاڻي آرٽيڪل پڙهڻ شروع ڪيو "جامد ڪوڊ اينالائيزر PVS-Studio کي ترقي جي عمل ۾ متعارف ڪرائڻ جا سبب". اهو ڊولپرز جي عام خدشات کي حل ڪري ٿو ته جامد تجزيي انهن جو وقت وٺي ويندي وغيره وغيره.

جامد تجزيو - تعارف کان انضمام تائين

جيڪڏهن توهان هن مضمون کي انگريزي ڳالهائيندڙ سامعين سان حصيداري ڪرڻ چاهيو ٿا، مهرباني ڪري ترجمو لنڪ استعمال ڪريو: Maxim Zvyagintsev. جامد تجزيو: شروعات کان وٺي انضمام تائين.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو