Przeglądaj źródła

Merge pull request #685 from exercism/stkent-patch-1

Update policy around language constructs
Stuart Kent 9 lat temu
rodzic
commit
2cb2a5aa4f
1 zmienionych plików z 9 dodań i 5 usunięć
  1. 9
    5
      POLICIES.md

+ 9
- 5
POLICIES.md Wyświetl plik

@@ -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