-
Notifications
You must be signed in to change notification settings - Fork 0
/
coding-kata.html
183 lines (167 loc) · 14.3 KB
/
coding-kata.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html>
<html lang="en">
<head>
<link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="http://www.emadmokhtar.com/theme/stylesheet/style.min.css">
<link rel="stylesheet" type="text/css" href="http://www.emadmokhtar.com/theme/stylesheet/pygments.min.css">
<link rel="stylesheet" type="text/css" href="http://www.emadmokhtar.com/theme/stylesheet/font-awesome.min.css">
<link href="http://www.emadmokhtar.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Emad Mokhtar's Framework Atom">
<link href="http://www.emadmokhtar.com/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Emad Mokhtar's Framework RSS">
<link rel="shortcut icon" href="http://www.emadmokhtar.com/images/favicon.ico" type="image/x-icon">
<link rel="icon" href="http://www.emadmokhtar.com/images/favicon.ico" type="image/x-icon">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="" />
<meta name="author" content="EmadMokhtar" />
<meta name="description" content="Recently I'm reading Uncle Bob's Clean Coder book and I read about how a professional programmer must always practice, like professional musicians, professional football player, and professional martial arts player. I'm learning how to play electric guitar, you need to start slowly "slow will gain speed" start with something easy and way to go to professional level, and believe me if you stop practicing you lose your speed, but this doesn't mean professional guitarist stop learning new things and stop practicing. When I see a guitarist do something great I ask myself how, how he did it? the answer is simple he practice. Getting a job as programmer will not make you a professional one, doing your work in regular basis won't make you a professional programmer like walking everyday won't make you a professional athletic, you must challenge yourself, learning something new, or try to solve problem with your favorite programming language. Try do practice away from working time, and practice, practice, practice, practice, and practice. In CleanCoder's Chapter 6 talking about practicing and there's a part talking about coding kata, so What is Coding Kata? Kata is a Japanese word describing detailed choreographed patterns of movements …" />
<meta name="keywords" content="coding, professional, programmer, programming">
<meta property="og:site_name" content="Emad Mokhtar's Framework"/>
<meta property="og:title" content="Coding Kata"/>
<meta property="og:description" content="Recently I'm reading Uncle Bob's Clean Coder book and I read about how a professional programmer must always practice, like professional musicians, professional football player, and professional martial arts player. I'm learning how to play electric guitar, you need to start slowly "slow will gain speed" start with something easy and way to go to professional level, and believe me if you stop practicing you lose your speed, but this doesn't mean professional guitarist stop learning new things and stop practicing. When I see a guitarist do something great I ask myself how, how he did it? the answer is simple he practice. Getting a job as programmer will not make you a professional one, doing your work in regular basis won't make you a professional programmer like walking everyday won't make you a professional athletic, you must challenge yourself, learning something new, or try to solve problem with your favorite programming language. Try do practice away from working time, and practice, practice, practice, practice, and practice. In CleanCoder's Chapter 6 talking about practicing and there's a part talking about coding kata, so What is Coding Kata? Kata is a Japanese word describing detailed choreographed patterns of movements …"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content="http://www.emadmokhtar.com/coding-kata.html"/>
<meta property="og:type" content="article"/>
<meta property="article:published_time" content="2011-12-06 21:18:00+03:00"/>
<meta property="article:modified_time" content=""/>
<meta property="article:author" content="http://www.emadmokhtar.com/author/emadmokhtar.html">
<meta property="article:section" content="Developer"/>
<meta property="article:tag" content="coding"/>
<meta property="article:tag" content="professional"/>
<meta property="article:tag" content="programmer"/>
<meta property="article:tag" content="programming"/>
<meta property="og:image" content="http://www.emadmokhtar.com/images/profile.jpg">
<title>Emad Mokhtar's Framework – Coding Kata</title>
</head>
<body>
<aside>
<div>
<a href="http://www.emadmokhtar.com">
<img src="http://www.emadmokhtar.com/images/profile.jpg" alt="" title="">
</a>
<h1><a href="http://www.emadmokhtar.com"></a></h1>
<p>Geek developer who's in search of code perfection.</p>
<nav>
<ul class="list">
<li><a href="http://www.emadmokhtar.com">Blog</a></li>
<li><a href="http://www.emadmokhtar.com/pages/podcasts.html#podcasts">Podcasts</a></li>
<li><a href="http://www.emadmokhtar.com/pages/projects.html#projects">Projects</a></li>
<li><a href="https://emadmokhtar.github.io/resume" target="_blank">Resume</a></li>
</ul>
</nav>
<ul class="social">
<li><a class="sc-envelope-o" href="mailto:emad@emadmokhtar.com" target="_blank"><i class="fa fa-envelope-o"></i></a></li>
<li><a class="sc-github" href="https://www.github.com/EmadMokhtar" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-linkedin" href="https://www.linkedin.com/in/emadmokhtar/" target="_blank"><i class="fa fa-linkedin"></i></a></li>
<li><a class="sc-stack-overflow" href="http://stackoverflow.com/users/373051/emad-mokhtar" target="_blank"><i class="fa fa-stack-overflow"></i></a></li>
<li><a class="sc-facebook" href="https://www.facebook.com/emadmokhtarframework/" target="_blank"><i class="fa fa-facebook"></i></a></li>
<li><a class="sc-twitter" href="https://twitter.com/emadmokhtar" target="_blank"><i class="fa fa-twitter"></i></a></li>
</ul>
</div>
</aside>
<main>
<nav>
<a href="http://www.emadmokhtar.com">Home</a>
<a href="https://emadmokhtar.github.io/resume">Resume</a>
<a href="http://www.emadmokhtar.com/feeds/all.atom.xml">Atom</a>
<a href="http://www.emadmokhtar.com/feeds/all.rss.xml">RSS</a>
</nav>
<article>
<header>
<h1 id="coding-kata">Coding Kata</h1>
<p>Posted on Tue 06 December 2011 in <a href="http://www.emadmokhtar.com/category/developer.html">Developer</a> <b>Read in 3 min.</b></p>
</header>
<div>
<p><img alt="Practicing Guitar" src="http://www.emadmokhtar.com/images/Practicing_Guitar.jpg"></p>
<p>Recently I'm reading <a href="http://twitter.com/#!/unclebobmartin">Uncle Bob</a>'s
<a href="http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073" title="Clean Coder">Clean Coder book</a> and I read about how a professional programmer must always practice, like professional musicians, professional football player, and professional martial arts player. I'm learning how to play electric guitar, you need to start slowly "slow will gain speed" start with something easy and way to go to professional level, and believe me if you stop practicing you lose your speed, but this doesn't mean professional guitarist stop learning new things and stop practicing. When I see a guitarist do something great I ask myself how, how he did it? the answer is simple he practice.</p>
<p>Getting a job as programmer will not make you a professional one, doing your work in regular basis won't make you a professional programmer like walking everyday won't make you a professional athletic, you must challenge yourself, learning something new, or try to solve problem with your favorite programming language. Try do practice away from working time, and practice, practice, practice, practice, and practice.</p>
<p>In <a href="http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073" title="Clean Coder">CleanCoder</a>'s Chapter 6 talking about practicing and there's a part talking about coding kata, so What is Coding Kata?</p>
<p><img alt="Kata" src="http://www.emadmokhtar.com/images/Empi_kata.jpg"></p>
<ul>
<li>Kata is a Japanese word describing detailed choreographed patterns of movements practised either solo or in pairs. The term form is used for the corresponding concept in non-Japanese martial arts in general.</li>
</ul>
<p><strong>Coding Kata</strong> is solving a small programming problem over and over
again because when you face it or someone like it you don't need that
much effort to think how to solve it, for example professional guitarist
won't think how to do Pull-Offs of Hummer-down when he's playing a solo,
he just thinking about melodies and its harmony, thus professional
programmer will consume most of his/her brain power on how to make this
code clean but on how to solve this simple problem. like in martial arts
they are doing a series of choreographed practice movements so that when
he want to do it he'll get a fast response from his body.</p>
<p>I'm new in this, I like the idea, I'll keep practicing, and
I'll keep my moves toward profession.</p>
<p>Here's a video of Uncle Bob preforming coding kata with his audience</p>
<iframe src="http://player.vimeo.com/video/2499161?title=0&byline=0&portrait=0" frameborder="0" width="400" height="225"></iframe>
<p><a href="http://vimeo.com/2499161">Software Craftsmanship - Coding Dojo - Kata</a> from <a href="http://vimeo.com/dougbradbury">Doug Bradbury</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Some links talking about Coding Kata:</p>
<ul>
<li>The unltimate coding
kata <a href="http://www.codinghorror.com/blog/2008/06/the-ultimate-code-kata.html">http://www.codinghorror.com/blog/2008/06/the-ultimate-code-kata.html</a></li>
<li>What is all nonsense about
katas? <a href="http://blog.objectmentor.com/articles/2009/11/21/whats-all-this-nonsense-about-katas">http://blog.objectmentor.com/articles/2009/11/21/whats-all-this-nonsense-about-katas</a></li>
<li>The programming
dojo <a href="http://butunclebob.com/ArticleS.UncleBob.TheProgrammingDojo">http://butunclebob.com/ArticleS.UncleBob.TheProgrammingDojo</a></li>
<li>Code Kata <a href="http://dotnet.dzone.com/news/code-kata">http://dotnet.dzone.com/news/code-kata</a></li>
</ul>
<p>Some resource of Coding Kata:</p>
<ul>
<li>Coding kata for .NET <a href="http://codingkata.net/">http://codingkata.net/</a></li>
<li><a href="http://www.codekata.com/">http://www.codekata.com/</a></li>
<li><a href="http://www.codingdojo.org/">http://www.codingdojo.org/</a></li>
<li>Bowling Game
Kata <a href="http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata">http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata</a></li>
</ul>
</div>
<div class="tag-cloud">
<p>
<a href="http://www.emadmokhtar.com/tag/coding.html">coding</a>
<a href="http://www.emadmokhtar.com/tag/professional.html">professional</a>
<a href="http://www.emadmokhtar.com/tag/programmer.html">programmer</a>
<a href="http://www.emadmokhtar.com/tag/programming.html">programming</a>
</p>
</div>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'emadmokhtarsframework';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
</article>
<footer>
<p>© Emad Mokhtar </p>
<p>Built using <a href="http://getpelican.com" target="_blank">Pelican</a> - <a href="https://github.com/alexandrevicenzi/flex" target="_blank">Flex</a> theme by <a href="http://alexandrevicenzi.com" target="_blank">Alexandre Vicenzi</a></p> </footer>
</main>
<!-- Google Analytics -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11401860-2', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"name": "Coding Kata",
"headline": "Coding Kata",
"datePublished": "2011-12-06 21:18:00+03:00",
"dateModified": "",
"author": {
"@type": "Person",
"name": "EmadMokhtar",
"url": "http://www.emadmokhtar.com/author/emadmokhtar.html"
},
"image": "http://www.emadmokhtar.com/images/profile.jpg",
"url": "http://www.emadmokhtar.com/coding-kata.html",
"description": "Recently I'm reading Uncle Bob's Clean Coder book and I read about how a professional programmer must always practice, like professional musicians, professional football player, and professional martial arts player. I'm learning how to play electric guitar, you need to start slowly "slow will gain speed" start with something easy and way to go to professional level, and believe me if you stop practicing you lose your speed, but this doesn't mean professional guitarist stop learning new things and stop practicing. When I see a guitarist do something great I ask myself how, how he did it? the answer is simple he practice. Getting a job as programmer will not make you a professional one, doing your work in regular basis won't make you a professional programmer like walking everyday won't make you a professional athletic, you must challenge yourself, learning something new, or try to solve problem with your favorite programming language. Try do practice away from working time, and practice, practice, practice, practice, and practice. In CleanCoder's Chapter 6 talking about practicing and there's a part talking about coding kata, so What is Coding Kata? Kata is a Japanese word describing detailed choreographed patterns of movements …"
}
</script></body>
</html>