include::../description.adoc[] == How to fix it === Code examples ==== Noncompliant code example [source,java,diff-id=1,diff-type=noncompliant] ---- public class Foo { public Collection listUsers() { File userList = new File("/home/mylogin/Dev/users.txt"); // Noncompliant Collection users = parse(userList); return users; } } ---- ==== Compliant solution [source,java,diff-id=1,diff-type=compliant] ---- public class Foo { // Configuration is a class that returns customizable properties: it can be mocked to be injected during tests. private Configuration config; public Foo(Configuration myConfig) { this.config = myConfig; } public Collection listUsers() { // Find here the way to get the correct folder, in this case using the Configuration object String listingFolder = config.getProperty("myApplication.listingFolder"); // and use this parameter instead of the hard coded path File userList = new File(listingFolder, "users.txt"); // Compliant Collection users = parse(userList); return users; } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' endif::env-github,rspecator-view[]