npm install -g npm@latest
nvm install node
https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable
yarn needs to read the package.json file to know the dependencies and the scripts definitions
THE FOLOWING COMMAND LINES must be typed in a terminal, at the folder PATH where there is the 'package.json' file
yarn install --ignore-engines
Just run the test suite
yarn test
yarn test:ci
-
put your names in README ETUDIANTS.md; commit and push.
-
Create a Pull Request on Exo01
- Use a diff tool to see the differences in code between the starting hole and end hole
- write your annotations, remarks... spot the problem(s)
- make a refactoring to the code, to fix the problem
- be sure the tests are green
- review your changes
- push (but don't merge) the pull request to the original repository
-
Move to Exo 2 and do the same to refactor the code from Exo 2 to be like the code in Exo 3
-
Apply the same pattern until you reach Exo 8
-
Remember to keep the code compiling and the tests passing at all times during the refactor
-
For every refactor, run the tests, and if they pass, commit
-
It's okay, and actually heavily encouraged, to revert back to a previous working state at any moment
- Make sure the code builds, and tests are passing
yarn test
- Refactor the code as best as you can.
- Create your own branch based on 'Exo001', for example: 'Exo001-review'
- Create a pull request
- annotate your ideas, remarks on code
- do the refactoring
- create a Pull Request
- Create your own branch based on 'Exo001', for example: 'Exo001-review'
- Refactor the code following the treatment available for each code smell in https://refactoring.guru/refactoring/smells.
- Refactor readability
- Comments
- Dead code
- Magic strings and numbers
- Scope (variables, blocks)
- Clutter
- Implicit knowledge
- Naming
- Reduce complexity
- Duplicated code
- Long method
- Reorder responsibilities
- Data class
- Message chain
- Feature Envy
- Inappropriate Intimacy
- Large class
- Refine abstractions
- Long parameter list
- Data clump
- Primitive obsession
- Middle man
- Refactor to design patterns
- Switch statements
- Strategy
- State
- Command
- others
- Refactor to SOLID
- Refused bequest
- Divergent change
- Shotgun surgery
- Speculative generality
- Parallel inheritance
yarn mutants
yarn watch