Skip to content

Commit ec2c1e6

Browse files
authored
Update policies (exercism#3122)
This updates the policies in regards to hints.md (now instructions.append.md) and stubs are now generally provided for the exercises (instead of just the lower difficulty ones). See also: - exercism#2133 for when stubs were added for exercises - exercism@5261735 for when hints.md became instructions.append.md
1 parent 6784f95 commit ec2c1e6

1 file changed

Lines changed: 8 additions & 24 deletions

File tree

POLICIES.md

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ Our policies are not set-in-stone. They represent directions chosen at a point i
2424
| | [Ignore noninitial tests](#ignore-noninitial-tests) |
2525
| | [Multiple file submissions](#multiple-file-submissions) |
2626
| | [Name test class after class under test](#name-test-class-after-class-under-test) |
27-
| | [Add hint for the first exercises without starter implementation](#add-hint-for-the-first-exercises-without-starter-implementation) |
2827
| | [Reference tutorial in the first exercises](#reference-tutorial-in-the-first-exercises) |
2928
| | [Avoid returning null](#avoid-returning-null) |
3029
| | [Prefer AssertJ assertions](#prefer-assertj-assertions) |
@@ -44,16 +43,14 @@ References: [[1](https://github.com/exercism/java/issues/177#issuecomment-261291
4443

4544
### Starter implementations
4645

47-
> - Exercises of difficulty 4 or lower: provide stubs for all required constructors and methods. This means that you need to provide stubs for those constructors or methods that are necessary to pass all tests. E.g. stubs for private methods may be skipped.
48-
> Stubs should include the following body:
46+
> Provide stubs for all required constructors and methods. This means that you need to provide stubs for those constructors or methods that are necessary to pass all tests. E.g. stubs for private methods may be skipped.
47+
> Stubs should include the following body:
4948
>
50-
> ```java
51-
> throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
52-
> ```
53-
>
54-
> - Exercises of difficulty 5 or higher: copy the StubTemplate.java file (provided in [this template file](https://github.com/exercism/java/blob/main/resources/exercise-template/src/main/java/ExerciseName.java)) and rename it to fit the exercise. For example, for the exercise linked-list the file could be named LinkedList.java. Then either (1) add hints to the hints.md file (which gets merged into the README.md for the exercise) or (2) provide stubs as above for exercises that demand complicated method signatures.
49+
> ```java
50+
> throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
51+
> ```
5552
56-
References: [[1](https://github.com/exercism/java/issues/178)], [[2](https://github.com/exercism/java/pull/683#discussion_r125506930)], [[3](https://github.com/exercism/java/issues/977)], [[4](https://github.com/exercism/java/issues/1721)]
53+
Reference: [[1](https://github.com/exercism/java/issues/2133)]
5754
5855
### Avoid using final
5956
@@ -126,27 +123,14 @@ References: [[1](https://github.com/exercism/java/issues/395#issue-215734887)]
126123
127124
References: [[1](https://github.com/exercism/java/issues/697)]
128125
129-
### Add hint for the first exercises without starter implementation
130-
131-
> According to the starter implementation policy, any exercise with difficulty 4 or lower should have starter implementation.
132-
> Any exercise with difficulty 5 or above will have no starter implementation (unless its signature is very complicated).
133-
> This could be confusing to users when tackling their first exercise with difficulty 5 when they are used to starter implementation being provided.
134-
>
135-
> Therefore a hints.md file should be added to the .meta directory for every exercise with difficulty 5.
136-
> This file should explain what they need to do when there is no starter implementation.
137-
> The files should all be the same so you can copy it from any other exercise with difficulty 5, e.g. [flatten-array](https://github.com/exercism/java/tree/main/exercises/pratice/flatten-array/.meta/hints.md).
138-
>
139-
> We add the file to every exercise with difficulty 5 because the structure of the track means that we don't know which exercise will be the first one without starter implementation that a user will be faced with.
140-
141-
References: [[1](https://github.com/exercism/java/issues/1075)]
142-
143126
### Reference tutorial in the first exercises
144127
145128
> The hello world exercise has an extensive tutorial on how to solve exercism exercises.
146129
> This tutorial would probably be useful to have as a reference when solving some of the other earlier exercises as well.
147-
> Therefore any exercise with difficulty less than 3 should have a hints.md file which references [the hello world tutorial](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial).
130+
> Therefore any exercise with difficulty less than 3 should have a instructions.append.md file which references [the hello world tutorial](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial).
148131
149132
References: [[1](https://github.com/exercism/java/issues/1389)]
133+
Note: The PRs in the referenced issue uses hints.md, but this is now instructions.append.md (see [commit 52617354](https://github.com/exercism/java/commit/5261735435192b5b10535b2fcf41c81b638e5de5))
150134
151135
### Avoid returning null
152136

0 commit comments

Comments
 (0)