Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.57 KB

README.md

File metadata and controls

18 lines (14 loc) · 1.57 KB

CodeKatas

Need to keep my skills sharp and collaborate with people outside of work. The pace at work spends about 25% of the time in POC and investigation phase. Katas will help offset the time spent pouring over documentations or doing 'DevOps' or Requirements Gathering or Data Modelling. Java will be the primary language used, just to go deeper.

##There are different types of Katas that will be done

  1. Common problems such as Game of Life or Travelling Salesman problems
  2. Algorithms and Data Strcutures
  3. Complex problems that mix up the two
  4. Puzzles

##Self guided rules

  1. There will be a build script to automate everything from testing to running programs.
  2. Tests are Necessary. Every "core method" will have an associated test. As per rule #3, will use a custom test runner and use rule #1 to automate it. Why not JUnit? Well, These Katas will be used to help my 'discipline.' Using barebones tests (i.e. plain assertions and running ant scripts to run the tests) will help me automate and test things minimal. Also it will give insight into the things that the JUnit library does for the user.
  3. Limit the number of external libraries. Try to do as much with the core library in java. Example used Jetty, because it's easy to setup a web server with Jetty versus using the HTTPServer in the core library.
  4. Learn something new. Whether it's a new functionality(WebSockets) or something tricky (multi-threading)
  5. Don't learn too many technologies or libraries within one module (Example: Don't learn multithreading and web development in the same module.)

Lawler - Matroid Theory