Skip to content

Commit dceca0e

Browse files
committed
Separate single policy into two separate policies
1 parent ae5e45a commit dceca0e

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

POLICIES.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ Our policies are not set-in-stone. They represent directions chosen at a point i
1717

1818
| Track Event | Policies to review |
1919
|:------------|:-----------------|
20-
| Exercise added | [Prefer instance methods](#prefer-instance-methods); [Starter implementations](#starter-implementations); [Ignore noninitial tests](#ignore-noninitial-tests) |
21-
| Exercise updated | [Ignore noninitial tests](#ignore-noninitial-tests); [Multiple file submissions](#multiple-file-submissions) |
22-
| Track order changed | [Starter implementations](#starter-implementations); [Multiple file submissions](#multiple-file-submissions) |
20+
| Exercise added/updated | [Prefer instance methods](#prefer-instance-methods); [Avoid using final](#avoid-using-final); [Adhere to best practices](#adhere-to-best-practices); [Starter implementations](#starter-implementations); [Ignore noninitial tests](#ignore-noninitial-tests); [Multiple file submissions](#multiple-file-submissions) |
21+
| Track rearranged | [Starter implementations](#starter-implementations); [Multiple file submissions](#multiple-file-submissions) |
2322
| New issue observed in track | [Good first patches](#good-first-patches) |
2423
| "Good first patch" issue completed | [Good first patches](#good-first-patches) |
2524
| Installing Java instructions updated | [Simple onboarding](#simple-onboarding) |
@@ -40,11 +39,14 @@ References: [[1](https://github.com/exercism/java/issues/177#issuecomment-261291
4039
4140
References: [[1](https://github.com/exercism/java/issues/178)], [[2](https://github.com/exercism/java/pull/683#discussion_r125506930)]
4241

43-
### Minimize initial complexity in user-facing code
42+
### Avoid using final
4443

45-
> Minimize (within reason) the number of Java language constructs a user is exposed to simultaneously at the beginning of the track. Instead, introduce those constructs with examples and hints in an appropriate later exercise. Specific applications of this policy include:
46-
> - avoiding use of the `public` keyword in user-facing class declarations, method signatures, and parameter signatures;
47-
> - avoiding use of the `final` keyword in user-facing class declarations, method signatures, and parameter signatures.
44+
> Avoid using `final` in user-facing code. Liberal use of the `final` keyword remains controversial. It adds little value to test suites, and if included in starter implementations, places implicit restrictions on user solutions.
45+
46+
### Adhere to best practices
47+
48+
> Ensure that all Java code adheres to the best practices listed below:
49+
> - minimize the accessibility of classes and members ([Effective Java, item 13](http://jtechies.blogspot.com/2012/07/item-13-minimize-accessibility-of.html))
4850
4951
### Ignore noninitial tests
5052

0 commit comments

Comments
 (0)