Skip to content

Commit 2cb2a5a

Browse files
authored
Merge pull request exercism#685 from exercism/stkent-patch-1
Update policy around language constructs
2 parents 0f86212 + dceca0e commit 2cb2a5a

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

POLICIES.md

Lines changed: 9 additions & 5 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,9 +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-
### Do not make user-facing classes `final`
42+
### Avoid using final
4443

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))
4650
4751
### Ignore noninitial tests
4852

0 commit comments

Comments
 (0)