Name: SC_CaioZullo
Owner: raywenderlich
Description: null
Created: 2017-11-26 18:38:34.0
Updated: 2017-12-15 22:24:57.0
Pushed: 2018-02-05 17:57:51.0
Homepage: null
Size: 5161
Language: Swift
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
“Kata originally were teaching and training methods by which successful combat techniques were preserved and passed on. Practicing kata allowed a company of persons to engage in a struggle using a systematic approach, rather than as individuals in a disorderly manner.”
“…Systematic practice does not mean permanently rigid. The goal is to internalize the movements and techniques of a kata so they can be executed and adapted under different circumstances, without thought or hesitation. A novice?s actions will look uneven and difficult, while a master?s appear simple and smooth.
Rosenbaum, Michael. Kata and the Transmission of Knowledge in Traditional Martial Arts. YMAA Publication Center, Boston, 2004. Jump up ^
A code kata is an exercise in programming which helps programmers hone their skills through practice and repetition.
https://en.wikipedia.org/wiki/Kata_(programming)
“How do you get to be a great musician? It helps to know the theory, and to understand the mechanics of your instrument. It helps to have talent. But ultimately, greatness comes from practicing; applying the theory over and over again, using feedback to get better every time.”
“…How do you get to be an All-Star sports person? Obviously fitness and talent help. But the great athletes spend hours and hours every day, practicing….”
“But in the software industry we take developers trained in the theory and throw them straight in to the deep-end, working on a project….”
“…In software we do our practicing on the job, and that?s why we make mistakes on the job. We need to find ways of splitting the practice from the profession.”
CodeKata by Dave Thomas (http://codekata.com/)
“Every now and then I challenge myself to build an application in a way I've never done before.
Choosing from a range of constraints, I try to forbid myself from using one or two techniques I'm used to, so I can find new ways of solving problems.
It's quite fun to write fully working iOS apps without booleans and if statements, for example. Yes, it's possible. I recommend you to try it…”
https://www.caiozullo.com/blog/2017/1/31/code-challenges-to-improve-your-swift-skills
Achieve mastery through challenge Improve your skills by training with others on real code challenges
https://www.codewars.com/
Introduction: Explain the kata and goals (Test-driven functional Game of Life) https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
Constraints for the kata:
- As simple as possible
- Basic Foundation types (no classes, structs or enums)
- Test driven
- No mutation - only pure functions and immutable data