Code Kata: <name it>
What code kata do you choose to solve today? Explain the game rules here. Please keep explanations below about the boilerplate as it is.
Code Kata Boilerplate for Java 8
Firstly, either you fork this repository to put all your katas in the same repository, either you create a new repository per kata and push the kata boilerplate into it. Then replace the artifact coordinates used by the build system. Name the code kata too.
Make changes only in the "kata" branch.
You can use this shortened link if needed: tinyurl.com/yyekn5rf.
You may want to commit with another identifier to publish your code later. Nothing's easier:
git config user.email "firstname.lastname@example.org" git config user.name "Your Pseudo" # if needed
Take advantage of your IDE shortcuts while resolving any code kata. Download and print the keymap of IntelliJ IDEA. The table below should be very useful to learn, or to learn again, the most important shortcuts.
|Theme||Must Know||Should Know||Could Know|
Ctrl + Alt + S to open settings
Ctrl + Shift + A to find action
Ctrl + Space to call basic code completion
Shift + Enter to start new line
Ctrl + Alt + L to auto-indent lines
Ctrl + Y to delete line at caret
Ctrl + Numpad +/- to expand/collapse code block
Ctrl + X to cut current line to clipboard
Ctrl + Q to call quick documentation lookup
Alt + Inser to generate code...
Shift + F6 to rename
Ctrl + Alt + M to extract method
Ctrl + Alt + V to extract variable
Ctrl + Alt + F to extract field
Ctrl + Alt + C to extract constant
Ctrl + Alt + P to extract parameter
Ctrl + N to go to class
Ctrl + Shift + N to go to file
Alt + PageUp/PageDown* to navigate back / forward
Ctrl + B to go to declaration
Ctrl + Alt + B to go to implementation(s)
Ctrl + G to go to line
|Compile and Run||
Shift + F10 / F9 to run / debug
Ctrl + Shift + F10 to run contexte configuration from editor
Alt + F7 to find usages
Ctrl + Alt + F7 to show usages
If a shortcut is marked with a '*', it is to configure in the keymap settings of the IDE.
Command Line Interface as a GUI
You can invoke a standalone JAR after building it with the "standalone" Maven profile.
mvn package -Pstandalone # to build it java -jar target/kata-standalone.jar # to use it
Updating your fork
Update your fork as follows. It is assumed you did not commit in the "master" branch. Otherwise please send me a pull request.
git fetch origin master && git rebase -p --onto origin/master master develop && git branch -f master origin/master
Working on a code kata
Definition of Ready (DoR)
What should be a DoR for the code katas, that is to say to be ready before coding, whether at home or in a coding dojo, while using this code boilerplate?
- Git is ready-to-use.
- The Java SE Development Kit is installed.
- The IDE is installed and configured, preferably IntelliJ IDEA.
- Apache Maven is ready-to-use.
- The build of the code kata boilerplate is successful, in command line as well as in the IDE.
Definition of Done (DoD)
What should be a DoD for the code katas?
- The kata is done by applying Test-Driven Development (TDD).
- The code is versioned by applying TDDflow.
- The path to the solution is discovered according to the Transformation Priority Premise.
- The path of successive transformations is as simple as possible.
- The code coverage is greater than 95%.
- The problem to solve is described in the kata documentation.
This code kata boilerplate is distributed under the GNU GPLv3 license. The GPLv3 license is included in the LICENSE.txt file. More information about this license is available at GNU.org.