Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regenerate instructions, sync and fix all README.md #244

Merged
merged 2 commits into from
Apr 10, 2019
Merged

Regenerate instructions, sync and fix all README.md #244

merged 2 commits into from
Apr 10, 2019

Conversation

SleeplessByte
Copy link
Member

Fixes #209

Extract track insert into separate file

The TrackInsert template variable allows the contents of the track specific
documenation to be written in a markdown file (which allows tooling to highlight,
lint and generally process this).

Additionally, the xit to it hint was missing and added.

Regenerate all README.md

This updates all README.md to the canonical data as well as:

  • fix several issues with npm mentions
  • fix several issues with wording / outdated naming
  • custom edits where necessary

The `TrackInsert` template variable allows the contents of the track specific
documenation to be written in a markdown file (which allows tooling to highlight,
lint and generally process this).

Additionally, the `xit` to `it` hint was missing and added.
This updates all README.md to the canonical data as well as:

- fix several issues with `npm` mentions
- fix several issues with wording / outdated naming
- custom edits where necessary
@SleeplessByte SleeplessByte changed the title Chore/regenerate instructions Regenerate instructions, sync and fix all README.md Apr 10, 2019
@pacman-bot
Copy link

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

@masters3d
Copy link
Contributor

Could you do a check that new instruction do not conflict with tests implementations? The whole point of having separate readme is that we can guard against changes that would require rewriting the tests to be consistent?

@SleeplessByte
Copy link
Member Author

Could you do a check that new instruction do not conflict with tests implementations?

I did skim all the changes, but I'll make you a list with the exact changes. I'm about 95% certain that I caught all non-matching test issues already, so I'll go over it once more so we can be 100% certain 😄

The whole point of having separate readme is that we can guard against changes that would require rewriting the tests to be consistent?

Actually some of the tests should be updated to the canonical data; I've not seen a single diverge so far that is something else than outdated. But that's a different PR 🎉

@SleeplessByte
Copy link
Member Author

SleeplessByte commented Apr 10, 2019

exercise safe commentary
accumulate ✔️
acronym ✔️
all-your-base ✔️
allergies ✔️
alphametics ⚠️ This was a JavaScript README.md, mentioning xtest, npm and JavaScript
anagram ✔️
armstrong-numbers ✔️ Current version has faulty math, this change fixes it
atbash-cipher ✔️
beer-song ✔️
binary-search-tree ✔️
binary-search ✔️
bob ✔️
bowling ✔️
bracket-push ⚠️ Wording was amended with "or any combination thereof"
circular-buffer ✔️
clock ✔️
collatz-conjecture ✔️
complex-numbers ⚠️ Wording was changed slightly. No details has been changed
connect ✔️
crypto-square ⚠️ Wording was changed slightly and formatted. No details have been changed
custom-set ✔️
diamond ✔️
difference-of-squares ✔️ Notion that you're not expected to find an efficient solution at first was added
diffie-hellman ✔️
etl ✔️
flatten-array ✔️
food-chain ✔️
gigasecond ⚠️ Wording was changed slightly. No details has been changed
grade-school ✔️
grains ⚠️ Wording was changed slightly. No details has been changed
hamming ⚠️ Story was applied. No details have been changed
hello-world ⚠️ message parameter renamed to name
house ✔️
isbn-verifier ✔️ Re-formatted
isogram ✔️
kindergarten-garden ✔️ Formatted Typescript into TypeScript
largest-series-product ✔️
leap ⚠️ Removed "If your language provides a method in the standard library that does
this look-up, pretend it doesn't exist and implement it yourself"
linked-list ✔️
list-ops ✔️ Added a lot of descriptions about the functions
luhn ✔️
matrix ✔️ Changed the indices in the example to start at 1. No details have been changed
minesweeper ✔️
nth-prime ✔️
nucleotide-count ✔️
ocr-numbers ✔️
palindrome-products ✔️
pangram ✔️
pascals-triangle ✔️
perfect-numbers ✔️
phone-numbers ✔️
pig-latin ✔️
prime-factors ✔️
protein-translation ✔️
proverb ✔️
pythagorean-triplet ✔️ Re-ordered wording and added an example. No details have been changed
queen-attack ✔️
raindrops ✔️
rational-numbers ✔️
rectangles ✔️
reverse-string ✔️
rna-transcription ✔️
robot-name ✔️
robot-simulator ✔️
roman-numerals ✔️
rotational-cipher ✔️
run-length-encoding ✔️
saddle-points ⚠️ Changed the indices in the example to start at 1, added a rule "The matrix can have a different number of rows and columns (Non square)."
say ✔️ Added Linux and Windows extension instructions
scrabble-score ✔️
secret-handshake ✔️
series ⚠️ Added rule about ordering "in the order that they appear.", formatted the examples
sieve ✔️ Added additional tips
simple-cipher ⚠️ Fixed wording, remove generic language of the necessity to throw an error.
space-age ✔️
spiral-matrix ✔️
strain ✔️
sublist ✔️
sum-of-multiples ✔️
transpose ✔️
triangle ✔️
twelve-days ✔️
two-bucket ✔️
two-fer ✔️ Added explicit examples and formatted document. No details have been changed
variable-length-quantity ✔️
wordy ⚠️ Iteration 0 and 4 added. These are tips, but (4) has a list of rejections

A second look

So there are a few exercises with notable changes. They are listed here after a thorough inspection:

exercise safe commentary
alphametics ✔️ Tests use xit and it, implementation is TypeScript
bracket-push ✔️ Tests include "any combination thereof"
complex-numbers ✔️ Tests work with the new wording
crypto-square ✔️ Tests work with the new wording
gigasecond ✔️ Tests work with the new wording
grains ✔️ Tests work with the new wording
hamming ✔️ Tests work with the new wording
hello-world ✔️ Example and test already use new parameter name name
leap ✔️ Mentor notes already correctly mention the solution using Date
saddle-points New tests are currently missing. New wording does not clash with tests, but this exercise should be synced. However there could be confusion here because of the 0 vs 1 index.
series ✔️ Tests already check for the order
simple-cipher ⚠️ Removed tests are still present. New wording does not clash with tests, but this exercise should be synced
wordy ✔️ Tests already throw on the new examples it should throw on

Conclusion

IMO this can be merged as is. I don't recommend removing the wording for saddle-points, or adding back the exception text for simple-cipher. Both are apparent from the test-suite. I'll open 2 additional PRs to sync these exercises.

EDIT: PRs are open. If they're merged, everything is in line with the changes in this PR.

cc @masters3d

@masters3d masters3d merged commit da1bbec into exercism:master Apr 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix getting started instructions for typescript
3 participants