-
Notifications
You must be signed in to change notification settings - Fork 0
/
my-todo-list.html
119 lines (101 loc) · 4.53 KB
/
my-todo-list.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
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>My TODO list ← Vinicius Horewicz</title>
<meta name="viewport" content="width=device-width">
<meta name="author" content="Vinicius Horewicz (wicz)">
<meta name="description" content="wicz' personal notes">
<link rel="alternate" type="application/atom+xml" href="/atom.xml" title="RSS feed" />
<link rel="stylesheet" href="/assets/stylesheets/normalize.css">
<link rel="stylesheet" href="/assets/stylesheets/monokai.css">
<link rel="stylesheet" href="/assets/stylesheets/main.css">
<link rel="stylesheet" href="/assets/stylesheets/screen.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet">
<link href="//fonts.googleapis.com/css?family=Roboto:400,300,300italic|Roboto+Slab:300|Ubuntu+Mono" rel="stylesheet" type="text/css">
<script src="/assets/javascripts/modernizr-2.6.2.min.js"></script>
</head>
<body>
<div class="container">
<p><a href="/">← index</a></p>
<section class="post-content">
<header>
<h1>My TODO list</h1>
<time datetime="2011-12-17T00:00:00+01:00" pubdate>17 December 2011</time>
</header>
<article>
<p>A <a href="http://about.me/victorhg">friend</a>
<a href="https://twitter.com/victorhg/status/142079139220946944">tweeted</a>:</p>
<blockquote>
<p>I use pending specs instead of TODO lists… nice tip from @wicz… it
gives me an interesting view of what is missing.</p>
</blockquote>
<p>I told Victor to write pending specs in place of using TODO comments
within his code. I’m glad he liked the idea. I’ve been using the pending
specs technique for a while and I’d like to share my thoughts why you
should do the same.</p>
<p>First, <strong>you shouldn’t add comments unless they are extremely
necessary.</strong> As good developers, we strive to write clean, concise and
self-explanatory code. We always refactor our code to make it as clear
as possible for others to understand and to avoid to use of unnecessary
comments. Using TODO comments go against our principles.</p>
<p><strong>TODO comments are easily forgotten and overlooked. And your tests are
not!</strong> How often do you <code>ack TODO</code>? And how often you run your test
suite? I bet you’ve answered <em>sometimes</em> and <em>everytime</em>. And how about
your CI server? I’m not sure if it knows anything about TODO comments,
but it can certainly cope with pending tests.</p>
<p><strong>TODO comments are just wrong!</strong> Specially if you’re using them to
convey something your code should be doing. What your code needs to do
is its specification, and we all know the right place to put it.</p>
<p>So, are you still using TODO comments? I’d love to hear your opinions on
the comments below.</p>
</article>
</section>
<!-- Enable Disqus comments -->
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'horewicz';
var disqus_identifier = '/my-todo-list';
var disqus_url = 'http://horewi.cz/my-todo-list.html';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<footer>
<a href="about.html">
<i class="fa fa-info-circle fa-fw fa-lg"></i>
</a>
<a href="https://www.linkedin.com/in/viniciushorewicz">
<i class="fa fa-l1nkedin fa-fw fa-lg"></i>
</a>
<a href="https://github.com/wicz">
<i class="fa fa-github fa-fw fa-lg"></i>
</a>
<a href="https://twitter.com/wicz">
<i class="fa fa-tw1tter fa-fw fa-lg"></i>
</a>
<a href="https://stackoverflow.com/users/3243455/wicz">
<i class="fa fa-stack-overflow fa-fw fa-lg"></i>
</a>
<a href="/assets/wicz.pub.asc">
<i class="fa fa-lock fa-fw fa-lg"></i>
</a>
<a href="/atom.xml">
<i class="fa fa-rss fa-fw fa-lg"></i>
</a>
</footer>
</div>
<script type="text/javascript">
var _gaq=[['_setAccount','UA-8480243-3'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>