การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ

เบื่อกับการทบทวนโค้ดหรือการดีบักไม่รู้จบ บางครั้งคุณก็คิดถึงวิธีทำให้ชีวิตของคุณง่ายขึ้น และหลังจากค้นหาเพียงเล็กน้อยหรือโดยบังเอิญ คุณจะเห็นวลีมหัศจรรย์: “การวิเคราะห์แบบคงที่” มาดูกันว่ามันคืออะไรและมันสามารถโต้ตอบกับโครงการของคุณได้อย่างไร

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
ในความเป็นจริง หากคุณเขียนในภาษาสมัยใหม่ใดๆ ก็ตาม คุณจะเรียกใช้ผ่านเครื่องวิเคราะห์แบบคงที่โดยไม่รู้ตัว ความจริงก็คือคอมไพเลอร์สมัยใหม่ทุกตัวมีคำเตือนเล็กน้อยเกี่ยวกับปัญหาที่อาจเกิดขึ้นในโค้ด ตัวอย่างเช่น เมื่อคอมไพล์โค้ด C++ ใน Visual Studio คุณอาจเห็นสิ่งต่อไปนี้:

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
В этом выводе мы видим, что переменная คือ так и не была использована нигде в функции. Так что на самом деле вы почти всегда пользовались простеньким статическим анализатором кода. Однако, в отличие от профессиональных анализаторов, таких как 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: *คลิก*.

และอย่างที่คุณเข้าใจ มันเป็นไปไม่ได้เสมอไปที่จะใส่ใจกับส่วนของโค้ดดังกล่าวในทันที และด้วยเหตุนี้ คุณจึงสามารถนั่งแก้ไขจุดบกพร่องได้เป็นเวลาหนึ่งชั่วโมง และสงสัยว่าทำไมทุกอย่างถึงทำงานแปลกๆ

อย่างไรก็ตาม นี่เป็นข้อผิดพลาดอย่างชัดเจน จะเกิดอะไรขึ้นถ้านักพัฒนาเขียนโค้ดที่ไม่เหมาะสมเพราะเขาลืมความละเอียดอ่อนของภาษาไปบ้าง? หรือแม้กระทั่งอนุญาตในรหัส พฤติกรรมที่ไม่ได้กำหนด? น่าเสียดายที่กรณีดังกล่าวเป็นเรื่องปกติธรรมดาและใช้เวลาส่วนใหญ่ไปกับการดีบักโค้ดการทำงานโดยเฉพาะซึ่งมีการพิมพ์ผิด ข้อผิดพลาดทั่วไป หรือพฤติกรรมที่ไม่ได้กำหนดไว้

สำหรับสถานการณ์เหล่านี้เองที่การวิเคราะห์แบบคงที่ปรากฏขึ้น นี่คือผู้ช่วยสำหรับนักพัฒนาที่จะชี้ให้เห็นปัญหาต่างๆ ในโค้ด และอธิบายในเอกสารประกอบว่าเหตุใดจึงไม่จำเป็นต้องเขียนในลักษณะนี้ สิ่งที่สามารถนำไปสู่ ​​และวิธีแก้ไข นี่คือตัวอย่างสิ่งที่อาจมีลักษณะดังนี้: *คลิก*.

คุณสามารถค้นหาข้อผิดพลาดที่น่าสนใจเพิ่มเติมที่เครื่องวิเคราะห์สามารถตรวจพบได้ในบทความ:

เมื่อคุณได้อ่านเนื้อหานี้แล้วและมั่นใจในประโยชน์ของการวิเคราะห์แบบคงที่แล้ว คุณอาจต้องการลองใช้ดู แต่จะเริ่มต้นที่ไหน? จะรวมเครื่องมือใหม่เข้ากับโปรเจ็กต์ปัจจุบันของคุณได้อย่างไร แล้วจะแนะนำทีมให้เขารู้จักได้อย่างไร? คุณจะพบคำตอบสำหรับคำถามเหล่านี้ด้านล่าง

หมายเหตุ การวิเคราะห์แบบคงที่ไม่สามารถแทนที่หรือยกเลิกสิ่งที่มีประโยชน์เช่นการตรวจสอบโค้ดได้ ช่วยเสริมกระบวนการนี้ โดยช่วยในการสังเกตและแก้ไขการพิมพ์ผิด ความไม่ถูกต้อง และการออกแบบที่เป็นอันตรายล่วงหน้า การมุ่งเน้นไปที่การตรวจสอบโค้ดเกี่ยวกับอัลกอริธึมและความชัดเจนของโค้ดจะมีประสิทธิภาพมากกว่ามาก แทนที่จะมองหาวงเล็บที่วางผิดที่หรือ อ่านฟังก์ชั่นการเปรียบเทียบที่น่าเบื่อ.

0. ทำความรู้จักกับเครื่องมือ

ทุกอย่างเริ่มต้นด้วยเวอร์ชันทดลอง อันที่จริงมันเป็นเรื่องยากที่จะตัดสินใจที่จะแนะนำบางสิ่งเข้าสู่กระบวนการพัฒนาหากคุณไม่เคยเห็นเครื่องมือนี้มาก่อน ดังนั้นสิ่งแรกที่คุณควรทำคือดาวน์โหลด เวอร์ชั่นทดลอง.

สิ่งที่คุณจะได้เรียนรู้ในขั้นตอนนี้:

  • วิธีโต้ตอบกับเครื่องวิเคราะห์มีอะไรบ้าง
  • เครื่องวิเคราะห์เข้ากันได้กับสภาพแวดล้อมการพัฒนาของคุณหรือไม่?
  • โครงการของคุณมีปัญหาอะไรบ้างในปัจจุบัน?

หลังจากที่คุณได้ติดตั้งทุกสิ่งที่คุณต้องการแล้ว สิ่งแรกที่คุณควรทำคือทำการวิเคราะห์โครงการทั้งหมด (Windows, ลินุกซ์, MacOS). ในกรณีของ PVS-Studio ใน Visual Studio คุณจะเห็นภาพที่คล้ายกัน (คลิกได้):

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
ความจริงก็คือเครื่องวิเคราะห์แบบคงที่มักจะออกคำเตือนจำนวนมากสำหรับโครงการที่มีฐานโค้ดขนาดใหญ่ ไม่จำเป็นต้องแก้ไขทั้งหมด เนื่องจากโครงการของคุณกำลังทำงานอยู่แล้ว ซึ่งหมายความว่าปัญหาเหล่านี้ไม่สำคัญ อย่างไรก็ตามคุณ คุณสามารถดูคำเตือนที่น่าสนใจที่สุดได้ и исправить их при необходимости. Для этого нужно отфильтровать вывод и оставить только наиболее достоверные сообщения. В плагине PVS-Studio для Visual Studio это делается фильтрацией по уровням и категориям ошибок. Для наиболее точного вывода оставьте включёнными только จุดสูง и General (สามารถคลิกได้เช่นกัน):

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
แท้จริงแล้ว คำเตือน 178 รายการนั้นง่ายต่อการดูมากกว่าคำเตือนหลายพัน...

ในแท็บ กลาง и ต่ำ มักจะมีคำเตือนที่ดี แต่หมวดหมู่เหล่านี้รวมถึงการวินิจฉัยที่มีความแม่นยำน้อยกว่า (ความน่าเชื่อถือ) ข้อมูลเพิ่มเติมเกี่ยวกับระดับคำเตือนและตัวเลือกในการทำงานภายใต้ Windows สามารถดูได้ที่นี่: *คลิก*.

การตรวจสอบข้อผิดพลาดที่น่าสนใจที่สุดสำเร็จแล้ว (และแก้ไขให้ถูกต้อง) ก็คุ้มค่า ระงับคำเตือนที่เหลืออยู่. นี่เป็นสิ่งจำเป็นเพื่อไม่ให้คำเตือนใหม่หายไปจากคำเตือนเก่า นอกจากนี้ ตัววิเคราะห์แบบคงที่ยังทำหน้าที่เป็นผู้ช่วยของโปรแกรมเมอร์ ไม่ใช่รายการข้อบกพร่อง 🙂

1. การดูแลระบบ

หลังจากทำความคุ้นเคยแล้วก็ถึงเวลากำหนดค่าปลั๊กอินและรวมเข้ากับ CI ซึ่งจะต้องทำก่อนที่โปรแกรมเมอร์จะเริ่มใช้เครื่องวิเคราะห์แบบคงที่ ความจริงก็คือโปรแกรมเมอร์อาจลืมเปิดใช้งานการวิเคราะห์หรือไม่ต้องการทำเลย ในการดำเนินการนี้ คุณต้องทำการตรวจสอบทุกอย่างเป็นครั้งสุดท้าย เพื่อไม่ให้โค้ดที่ยังไม่ทดสอบเข้าไปในสาขาการพัฒนาทั่วไป

Что вы узнаете на данном этапе:

  • เครื่องมือนี้มีตัวเลือกการทำงานอัตโนมัติอะไรบ้าง
  • เครื่องวิเคราะห์เข้ากันได้กับระบบการประกอบของคุณหรือไม่?

เนื่องจากไม่มีเอกสารที่สมบูรณ์แบบ บางครั้งคุณต้องเขียนเข้ามา สนับสนุน. นี่เป็นเรื่องปกติและเรายินดีที่จะช่วยเหลือคุณ 🙂

ตอนนี้เรามาดูบริการการบูรณาการอย่างต่อเนื่อง (CI) กัน สามารถใช้เครื่องวิเคราะห์ใดๆ ก็ได้โดยไม่มีปัญหาร้ายแรงใดๆ ในการดำเนินการนี้ คุณจะต้องสร้างขั้นตอนแยกต่างหากในไปป์ไลน์ ซึ่งโดยปกติจะอยู่หลังการทดสอบบิลด์และยูนิต ทำได้โดยใช้ยูทิลิตี้คอนโซลต่างๆ ตัวอย่างเช่น PVS-Studio มียูทิลิตี้ดังต่อไปนี้:

  • PVS-Studio_Cmd.exe (การวิเคราะห์โซลูชัน, โปรเจ็กต์ C#, C++ บน Windows)
  • CLMonitor.exe (การตรวจสอบการรวบรวม)
  • pvs-studio-analyzer (анализ C++ проектов на Linux / macOS)
  • pvs-studio-dotnet (анализ решений, C# проектов на Linux / macOS)
  • pvs-studio.jar (การวิเคราะห์โครงการ Java)
  • PlogConverter (แปลงไฟล์รายงาน)

Для интеграции анализа в CI нужно сделать три вещи:

  • ติดตั้งเครื่องวิเคราะห์
  • ดำเนินการวิเคราะห์
  • ส่งมอบผลลัพธ์

ตัวอย่างเช่น หากต้องการติดตั้ง PVS-Studio บน Linux (Debian-base) คุณต้องรันคำสั่งต่อไปนี้:

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

บนระบบที่ใช้ Windows ไม่มีวิธีติดตั้งตัววิเคราะห์จากตัวจัดการแพ็คเกจ แต่เป็นไปได้ที่จะปรับใช้ตัววิเคราะห์จากบรรทัดคำสั่ง:

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

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการปรับใช้ PVS-Studio บนระบบที่ใช้ Windows *ที่นี่*.

หลังการติดตั้ง คุณต้องรันการวิเคราะห์โดยตรง อย่างไรก็ตาม ขอแนะนำให้ทำเช่นนี้หลังจากการคอมไพล์และการทดสอบผ่านไปแล้วเท่านั้น เนื่องจากโดยทั่วไปแล้วการวิเคราะห์แบบคงที่จะใช้เวลานานกว่าการคอมไพล์ถึงสองเท่า

เนื่องจากวิธีการเปิดใช้งานขึ้นอยู่กับแพลตฟอร์มและคุณสมบัติของโปรเจ็กต์ ฉันจะแสดงตัวเลือกสำหรับ C++ (Linux) เป็นตัวอย่าง:

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

คำสั่งแรกจะทำการวิเคราะห์ และคำสั่งที่สอง конвертиแปลงรายงานเป็นรูปแบบข้อความ แสดงบนหน้าจอ และส่งกลับโค้ดส่งคืนอื่นที่ไม่ใช่ 0 หากมีคำเตือน กลไกเช่นนี้สามารถใช้เพื่อบล็อกบิลด์เมื่อมีข้อความแสดงข้อผิดพลาดได้อย่างสะดวก อย่างไรก็ตาม คุณสามารถลบแฟล็กออกได้ตลอดเวลา -w และอย่าปิดกั้นการชุมนุมที่มีคำเตือน

หมายเหตุ รูปแบบข้อความไม่สะดวก มีให้ไว้เป็นตัวอย่างเท่านั้น ให้ความสนใจกับรูปแบบรายงานที่น่าสนใจยิ่งขึ้น - FullHtml ช่วยให้คุณสามารถนำทางผ่านโค้ดได้

Подробнее про настройку анализа на CI можно прочитать в статье "PVS-Studio และบูรณาการอย่างต่อเนื่อง" (วินโดวส์) หรือ "วิธีการตั้งค่า PVS-Studio ใน Travis CI" (ลินุกซ์).

เอาล่ะ คุณได้กำหนดค่าตัววิเคราะห์บนเซิร์ฟเวอร์บิลด์แล้ว ตอนนี้ หากมีคนอัปโหลดโค้ดที่ยังไม่ได้ทดสอบ ขั้นตอนการยืนยันจะล้มเหลว และคุณจะสามารถตรวจพบปัญหาได้ อย่างไรก็ตาม สิ่งนี้ไม่สะดวกนัก เนื่องจากจะมีประสิทธิภาพมากกว่าในการตรวจสอบโปรเจ็กต์ไม่ใช่หลังจากรวมสาขาแล้ว แต่ ก่อนหน้านั้นในขั้นตอนการขอดึง ก.

โดยทั่วไป การตั้งค่าการวิเคราะห์คำขอดึงข้อมูลไม่แตกต่างจากการเปิดตัวการวิเคราะห์ตามปกติบน CI มากนัก ยกเว้นความจำเป็นในการรับรายการไฟล์ที่เปลี่ยนแปลง โดยทั่วไปสามารถรับได้โดยการสอบถามความแตกต่างระหว่างสาขาโดยใช้ git:

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

ตอนนี้คุณต้องส่งรายการไฟล์นี้ไปยังเครื่องวิเคราะห์เป็นอินพุต ตัวอย่างเช่น ใน PVS-Studio สิ่งนี้จะถูกนำไปใช้โดยใช้แฟล็ก -S:

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

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับการวิเคราะห์คำขอดึงข้อมูลได้ *ที่นี่*. แม้ว่า CI ของคุณจะไม่อยู่ในรายการบริการที่กล่าวถึงในบทความ คุณจะพบว่าส่วนทั่วไปที่เกี่ยวข้องกับทฤษฎีการวิเคราะห์ประเภทนี้มีประโยชน์

ด้วยการตั้งค่าการวิเคราะห์คำขอดึง คุณสามารถบล็อกการคอมมิตที่มีคำเตือนได้ ดังนั้นจึงสร้างขอบเขตที่โค้ดที่ยังไม่ทดสอบไม่สามารถข้ามได้

ทั้งหมดนี้เป็นสิ่งที่ดีอย่างแน่นอน แต่ฉันต้องการที่จะเห็นคำเตือนทั้งหมดในที่เดียว ไม่เพียงแต่จากเครื่องวิเคราะห์แบบคงที่เท่านั้น แต่ยังมาจากการทดสอบหน่วยหรือจากเครื่องวิเคราะห์แบบไดนามิกด้วย มีบริการและปลั๊กอินต่างๆ สำหรับสิ่งนี้ ตัวอย่างเช่น PVS-Studio มี ปลั๊กอินสำหรับรวมเข้ากับ SonarQube.

2. บูรณาการบนเครื่องของนักพัฒนา

Теперь пришло время установки и настройки анализатора для повседневного использования при разработке. К этому моменту вы уже познакомились с большей частью способов работы, поэтому это можно назвать самой лёгкой частью.

เนื่องจากเป็นตัวเลือกที่ง่ายที่สุด นักพัฒนาจึงสามารถติดตั้งเครื่องวิเคราะห์ที่จำเป็นได้ด้วยตนเอง อย่างไรก็ตาม การดำเนินการนี้จะใช้เวลานานและเบี่ยงเบนความสนใจจากการพัฒนา ดังนั้นคุณจึงสามารถทำให้กระบวนการนี้เป็นแบบอัตโนมัติโดยใช้โปรแกรมติดตั้งและแฟล็กที่จำเป็น สำหรับ PVS-Studio นั้นมีหลากหลาย флаги для автоматизированной установки. อย่างไรก็ตาม มีตัวจัดการแพ็คเกจอยู่เสมอ เช่น Chocolatey (Windows), Homebrew (macOS) หรือตัวเลือกมากมายสำหรับ Linux

จากนั้นคุณจะต้องติดตั้งปลั๊กอินที่จำเป็นเช่น Visual Studio, IDEA, ผู้ขับ เป็นต้น

3. การใช้ชีวิตประจำวัน

ในขั้นตอนนี้ ถึงเวลาที่จะพูดสักสองสามคำเกี่ยวกับวิธีเร่งความเร็วเครื่องวิเคราะห์ในระหว่างการใช้งานในแต่ละวัน การวิเคราะห์ทั้งโปรเจ็กต์โดยสมบูรณ์นั้นใช้เวลานาน แต่เราจะเปลี่ยนโค้ดตลอดทั้งโปรเจ็กต์ในคราวเดียวบ่อยแค่ไหน? แทบจะไม่มีการปรับโครงสร้างใดๆ ที่มีขนาดใหญ่จนส่งผลกระทบต่อโค้ดเบสทั้งหมดทันที จำนวนไฟล์ที่เปลี่ยนแปลงในแต่ละครั้งแทบจะไม่เกินหนึ่งโหล ดังนั้นจึงควรวิเคราะห์ไฟล์เหล่านั้น สำหรับสถานการณ์เช่นนี้ก็มี โหมดการวิเคราะห์ส่วนเพิ่ม. อย่าเพิ่งตกใจไป นี่ไม่ใช่เครื่องมืออื่น นี่เป็นโหมดพิเศษที่ช่วยให้คุณวิเคราะห์เฉพาะไฟล์ที่เปลี่ยนแปลงและการขึ้นต่อกันของไฟล์เหล่านั้น และสิ่งนี้จะเกิดขึ้นโดยอัตโนมัติหลังจากสร้างหากคุณทำงานใน IDE ที่ติดตั้งปลั๊กอินไว้

หากเครื่องวิเคราะห์ตรวจพบปัญหาในโค้ดที่เปลี่ยนแปลงล่าสุด เครื่องวิเคราะห์จะรายงานเรื่องนี้โดยอิสระ ตัวอย่างเช่น PVS-Studio จะแจ้งให้คุณทราบเกี่ยวกับเรื่องนี้โดยใช้การแจ้งเตือน:

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
แน่นอนว่าการบอกนักพัฒนาให้ใช้เครื่องมือนี้ยังไม่เพียงพอ เราจำเป็นต้องบอกพวกเขาว่ามันคืออะไรและเป็นอย่างไร ตัวอย่างเช่น นี่คือบทความเกี่ยวกับการเริ่มต้นอย่างรวดเร็วสำหรับ PVS-Studio แต่คุณสามารถค้นหาบทช่วยสอนที่คล้ายกันสำหรับเครื่องมือใดๆ ที่คุณต้องการ:

บทความดังกล่าวให้ข้อมูลทั้งหมดที่จำเป็นสำหรับการใช้งานในชีวิตประจำวันและใช้เวลาไม่นาน 🙂

แม้จะอยู่ในขั้นตอนการทำความรู้จักกับเครื่องมือนี้ เราก็ได้ระงับคำเตือนมากมายระหว่างการเปิดตัวครั้งแรกครั้งหนึ่ง น่าเสียดายที่เครื่องวิเคราะห์แบบคงที่ไม่สมบูรณ์แบบ ดังนั้น จึงให้ผลบวกลวงเป็นครั้งคราว โดยปกติแล้วจะง่ายต่อการระงับ ตัวอย่างเช่น ในปลั๊กอิน PVS-Studio สำหรับ Visual Studio คุณเพียงแค่คลิกปุ่มเดียว:

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ
อย่างไรก็ตาม คุณสามารถทำได้มากกว่าแค่ปราบปรามพวกเขา เช่น คุณสามารถรายงานปัญหาเพื่อสนับสนุนได้ หากผลบวกลวงสามารถแก้ไขได้ ในการอัปเดตในอนาคต คุณจะสังเกตได้ว่าในแต่ละครั้งจะมีผลบวกลวงเฉพาะสำหรับโค้ดเบสของคุณน้อยลงเรื่อยๆ

หลังจากบูรณาการแล้ว

Вот мы и прошли все этапы по интеграции статического анализа в процесс разработки. Несмотря на важность настройки подобных инструментов на CI, самым главным местом запуска является именно компьютер разработчика. Ведь статический анализатор – это не судья, который говорит где-то далеко от вас, что код никуда не годится. Напротив, это помощник, который подсказывает, если вы устали и напоминает, если вы о чём-либо забыли.

จริงอยู่ที่หากไม่มีการใช้งานเป็นประจำ การวิเคราะห์แบบคงที่ไม่น่าจะทำให้การพัฒนาง่ายขึ้นอย่างมีนัยสำคัญ ท้ายที่สุดแล้ว ประโยชน์หลักของนักพัฒนาไม่ได้อยู่ที่การค้นหาส่วนที่ซับซ้อนและเป็นที่ถกเถียงของโค้ดมากนัก แต่อยู่ที่การตรวจจับตั้งแต่เนิ่นๆ ยอมรับว่าการค้นพบปัญหาหลังจากส่งการแก้ไขไปทดสอบไม่เพียงแต่ไม่เป็นที่พอใจ แต่ยังใช้เวลานานอีกด้วย การวิเคราะห์แบบคงที่เมื่อใช้เป็นประจำ จะตรวจสอบทุกการเปลี่ยนแปลงบนคอมพิวเตอร์ของคุณโดยตรง และรายงานจุดที่น่าสงสัยขณะทำงานกับโค้ด

และหากคุณหรือเพื่อนร่วมงานของคุณยังไม่แน่ใจว่าควรใช้เครื่องวิเคราะห์หรือไม่ ฉันขอแนะนำให้คุณเริ่มอ่านบทความตอนนี้เลย "เหตุผลที่แนะนำเครื่องวิเคราะห์โค้ดแบบคงที่ PVS-Studio ในกระบวนการพัฒนา" โดยจะกล่าวถึงข้อกังวลทั่วไปของนักพัฒนาว่าการวิเคราะห์แบบคงที่จะใช้เวลาและอื่นๆ

การวิเคราะห์แบบคงที่ - ตั้งแต่การแนะนำไปจนถึงการบูรณาการ

หากคุณต้องการแบ่งปันบทความนี้กับผู้ชมที่พูดภาษาอังกฤษ โปรดใช้ลิงก์การแปล: Maxim Zvyagintsev Static Analysis: From Getting Started to Integration.

ที่มา: will.com

เพิ่มความคิดเห็น