The following issues were found

src/test/java/com/alibaba/fastjson/deserializer/issue3050/beans/Person.java
1 issues
The class 'Person' is suspected to be a Data Class (WOC=11.111%, NOPA=0, NOAM=8, WMC=9)
Design

Line: 9

               * @author yangy
 * @since 2020年05月03日
 */
public class Person {
    private String name;
    private String address;
    private String id;
    private int age;


            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectU1_B.java
1 issues
The class 'ObjectU1_B' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=10, WMC=10)
Design

Line: 8

              import java.util.List;


public class ObjectU1_B {
	
	private int a;
	
	private long b;
	

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectU1_C.java
1 issues
The class 'ObjectU1_C' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4)
Design

Line: 7

              


public class ObjectU1_C {
	
	private int a;
	
	private boolean b;


            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectI.java
1 issues
The class 'ObjectI' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=24, WMC=24)
Design

Line: 9

              import java.util.List;


public class ObjectI {
	
	private String a;
	
	private int b;
	

            

Reported by PMD.

src/test/java/com/alibaba/json/bvt/MapRefTest6.java
1 issues
JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 15

              
public class MapRefTest6 extends TestCase {

    public void test_0() throws Exception {
        List<Map<Object, Object>> list = JSON.parseObject("[{},{\"$\":\"$[0]\"},{\"$001\":\"101\"},{\"$r01\":\"102\"},{\"$re1\":\"103\"}]",
                                                          new TypeReference<List<Map<Object, Object>>>() {
                                                          });
        Assert.assertEquals(5, list.size());
        Assert.assertEquals(true, ((Map)list.get(0)).isEmpty());

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/OjectN_A.java
1 issues
The class 'OjectN_A' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=10, WMC=10)
Design

Line: 3

              package com.alibaba.fastjson.deserializer.issues3796.bean;

public class OjectN_A {
	private long a;
	private String b;
	private String c;
	private int d;
	private String e;


            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectV.java
1 issues
The class 'ObjectV' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4)
Design

Line: 9

              import java.util.List;


public class ObjectV {
	
	private List<ObjectV_A> a;

	
	private List<ObjectV_A> b;

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issue2779/Issue2779Test.java
1 issues
JUnit tests should include assert() or fail()
Design

Line: 9

              // https://github.com/alibaba/fastjson/issues/2779
public class Issue2779Test {
    @Test
    public void canDeserializeLargeJavaBean() {
        JSON.parseObject("{}", LargeJavaBean.class);
    }
}

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issue2711/User.java
1 issues
The class 'User' is suspected to be a Data Class (WOC=16.667%, NOPA=0, NOAM=4, WMC=6)
Design

Line: 3

              package com.alibaba.fastjson.deserializer.issue2711;

public class User {
    Long id;
    String name;

    public User(Long id, String name) {
        this.id = id;
        this.name = name;

            

Reported by PMD.

src/main/java/com/alibaba/fastjson/serializer/CharacterCodec.java
1 issues
Potential violation of Law of Demeter (object not created locally)
Design

Line: 42

                          return;
        }

        char c = value.charValue();
        if (c == 0) {
            out.writeString("\u0000");
        } else {
            out.writeString(value.toString());
        }

            

Reported by PMD.