PMD สามารถนำไปใช้ในการหาข้อบกพร่องเป็นไปได้ & nbsp; ซ้ำรหัสตัวแปรที่ไม่ได้ใช้และวิธีการ.
นอกจากนี้ยังสามารถระบุแย่ดำเนินการบล็อกรหัสที่ไม่จำเป็น "ถ้า" งบแสดงโดยมิชอบ "กับ" ลูป (ที่อาจจะเขียนใหม่เป็น "ขณะที่" ลูป) และอื่น ๆ อีกมากมายเพิ่มเติม.
ทั้งหมดเหล่านี้สามารถนำไปสู่ปัญหาการตรวจสอบรหัสการประมวลผลในระยะยาวหรือปัญหาอื่น ๆ ที่สามารถขัดขวางเว็บไซต์หรือประสิทธิภาพการทำงานของโปรแกรมประยุกต์และการตอบสนอง.
พอร์ตของ PHP PMD สามารถพบได้ ที่นี่ .
พร้อมกับ PMD, CPD จะรวมเป็นดี, คัดลอกและวางเครื่องตรวจจับสำหรับโค้ดที่รู้จักจาก C, C ++, C #, PHP, ทับทิม, Fortran, JavaScript และ Java.
มีอะไรใหม่ ในรุ่นนี้:
- modularization ของรหัสที่มา
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.4.1:
- modularization ของรหัสที่มา
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.3.3 / 5.4.0-SNAPSHOT:
- modularization ของแหล่งที่มา รหัส
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.3.2 / 5.4.0-SNAPSHOT:
- modularization ของแหล่งที่มา รหัส
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.3.1 / 5.4.0-SNAPSHOT:
- modularization ของแหล่งที่มา รหัส
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.2.3 / 5.3.0-SNAPSHOT:
- modularization ของแหล่งที่มา รหัส
- CPD สนับสนุนตอนนี้ไป
มีอะไรใหม่ ในรุ่น 5.1.1:.
- ShortVariable บวกปลอมด้วยสำหรับแต่ละลูป
- ไม่ถูกต้อง StringBuffer เตือนเมื่อระดับที่ไม่ได้ใช้.
- LexicalError ขณะที่แยกรหัส Java ยกเลิกวิ่ง CPD.
- บวกปลอมสำหรับ ConsecutiveAppendsShouldReuse ในชื่อตัวแปรที่แตกต่างกัน.
- UnusedModifier พ่น NPE เมื่อแยก enum ด้วยอินเตอร์เฟซแบบคงที่ซ้อนกัน.
- เท็จในเชิงบวกใน UnusedPrivateField.
มีอะไรใหม่ ในรุ่น 5.0.5:
- ข้อบกพร่องคงที่:
- ปลั๊กอินคราสไม่ยอมรับการตั้งค่าโครงการท้องถิ่น
- false positive: เปล่าดายวงเล็บ
- CPD - Tokenizer ไม่ได้เริ่มต้นที่มีคุณสมบัติได้รับการร้องขอ
- ClassCastException ใน pmd.lang.ecmascript.ast.ASTElementGet
มีอะไรใหม่ ในรุ่น 5.0.0:
- การสนับสนุนภาษาเพิ่มเติม (Java, JavaScript, XML, XSL, JSP)
- แก้ไขข้อผิดพลาดจำนวนมากและกฎระเบียบใหม่
- refactoring ภายในซึ่งแบ่งการทำงานร่วมกัน แต่เพิ่มการสนับสนุนทั่วไปสำหรับภาษาเพิ่มเติม.
- พิกัด Maven มีการเปลี่ยนแปลง
คืออะไรใหม่ ในรุ่น 4.3:.
- เพิ่มการสนับสนุนสำหรับ Java 7 ไวยากรณ์
- เพิ่มการสนับสนุนสำหรับ C # CPD.
- และเป็นปกติพวงของการแก้ไขข้อบกพร่องและคู่กฎระเบียบใหม่ (DontCallThreadRun และ GuardDebugLogging) a.
มีอะไรใหม่ ในรุ่น 4.2.6:
- ปรับเปลี่ยน (และหวังว่าคงที่) อัลกอริทึม CPD ต้องขอบคุณ แพทช์.
- รายงาน -benchmark ที่ถูกต้องของการเข้าชมผ่านทางกฎ RuleChain ได้.
- ปัญหาการแก้ไขปัญหาที่มีความคมชัดประเภทไม่ถูกต้องการจัดการชั้นเรียนที่มีชื่อเดียวกับชื่อคลาส java.lang.
- JSP / JSF parser ในขณะนี้สามารถแยกการป้อนข้อมูล Unicode.
- JSP / JSP การแยกวิเคราะห์ตอนนี้สามารถจัดการกับ & # x3c; & # สคริปต์ x3e; & # ... x3c; / script & # x3e; แท็ก โหนด AST HtmlScript มีเนื้อหา.
- เพิ่ม ECMAScript เป็นภาษาที่ได้รับการสนับสนุนสำหรับ CPD.
- การปรับปรุงรวม / ไม่รวมผลการดำเนินงานตรงกับรูปแบบสำหรับการสิ้นสุดกับพิมพ์รูปแบบ.
มีอะไรใหม่ ในรุ่น 4.2.5:.
- การแก้ไขข้อบกพร่องที่มีอยู่กับกฎระเบียบของ
- AvoidThrowingNewInstanceOfSameException กฎใหม่ใน strictexception.xml.
- android.xml ruleset ใหม่สำหรับกฎระเบียบใหม่ที่เฉพาะเจาะจงเพื่อแพลตฟอร์ม Android.
ความคิดเห็นที่ไม่พบ