|
|
@@ -17,9 +17,8 @@ Our policies are not set-in-stone. They represent directions chosen at a point i
|
|
17
|
17
|
|
|
18
|
18
|
| Track Event | Policies to review |
|
|
19
|
19
|
|:------------|:-----------------|
|
|
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) |
|
|
23
|
22
|
| New issue observed in track | [Good first patches](#good-first-patches) |
|
|
24
|
23
|
| "Good first patch" issue completed | [Good first patches](#good-first-patches) |
|
|
25
|
24
|
| Installing Java instructions updated | [Simple onboarding](#simple-onboarding) |
|
|
|
@@ -40,9 +39,14 @@ References: [[1](https://github.com/exercism/java/issues/177#issuecomment-261291
|
|
40
|
39
|
|
|
41
|
40
|
References: [[1](https://github.com/exercism/java/issues/178)], [[2](https://github.com/exercism/java/pull/683#discussion_r125506930)]
|
|
42
|
41
|
|
|
43
|
|
-### Do not make user-facing classes `final`
|
|
|
42
|
+### Avoid using final
|
|
44
|
43
|
|
|
45
|
|
-> Starter implementations and test classes should not include the `final` keyword in class declarations as it isn't strictly necessary and could be confusing to people unfamiliar with Java.
|
|
|
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))
|
|
46
|
50
|
|
|
47
|
51
|
### Ignore noninitial tests
|
|
48
|
52
|
|