Skip to content

Gendarme.Rules.Smells.AvoidCodeDuplicatedInSameClassRule(git)

Sebastien Pouliot edited this page Mar 2, 2011 · 1 revision

AvoidCodeDuplicatedInSameClassRule

Assembly: Gendarme.Rules.Smells
Version: git

Description

This rule checks for duplicated code in the same class.

Examples

Bad example:

public class MyClass {
    private IList myList;
    public MyClass () {
        myList = new ArrayList ();
        myList.Add ("Foo");
        myList.Add ("Bar");
        myList.Add ("Baz");
    }
    public void MakeStuff () {
        foreach (string value in myList) {
            Console.WriteLine (value);
        }
        myList.Add ("FooReplied");
    }
    public void MakeMoreStuff () {
        foreach (string value in myList) {
            Console.WriteLine (value);
        }
        myList.Remove ("FooReplied");
    }
}

Good example:

public class MyClass {
    private IList myList;
    public MyClass () {
        myList = new ArrayList ();
        myList.Add ("Foo");
        myList.Add ("Bar");
        myList.Add ("Baz");
    }
    private void PrintValuesInList () {
        foreach (string value in myList) {
            Console.WriteLine (value);
        }
    }
    public void MakeStuff () {
        PrintValuesInList ();
        myList.Add ("FooReplied");
    }
    public void MakeMoreStuff () {
        PrintValuesInList ();
        myList.Remove ("FooReplied");
    }
}

Source code

You can browse the latest source code of this rule on github.com

Clone this wiki locally