﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>JCichocki commented on My Code Sucks</title><description>I'm going through the same sort of thing as well. Like others said version one never really works. In my project we never really had any specs to code from (basically a productionized prototype), but in reality that is just a lame excuse on my part. 
  
  
I think in the end a programmer a while back worded it best, programming has a lot of peaks and valleys. I see that in my own code quite often, one day things are great and the next I am asking myself what was I thinking. 
</description><link>http://ayende.com/3080/my-code-sucks#comment11</link><guid>http://ayende.com/3080/my-code-sucks#comment11</guid><pubDate>Sat, 05 Jan 2008 16:48:35 GMT</pubDate></item><item><title>Mr_Simple commented on My Code Sucks</title><description>Your mind is brilliant - don't be too hard on yourself.
  
  
Keep things Mozart simple.  People are more impressed with simple anyway.  Besides, simple is easier to debug so you can get on to other pressing issues.
  
  
I stop by daily to read you - even if I don't always understand the triple back-flip stuff.
</description><link>http://ayende.com/3080/my-code-sucks#comment10</link><guid>http://ayende.com/3080/my-code-sucks#comment10</guid><pubDate>Fri, 04 Jan 2008 18:17:25 GMT</pubDate></item><item><title>Oran commented on My Code Sucks</title><description>I agree about the dangers of starting with the DSL.  I think the same danger applies if starting with the config interface.  It's better to start with the "raw" imperative object model and then layer the config or DSL on top of it, sort of like writing the business logic with no UI dependencies and being able to layer a "wizard" UI on top of it (fluent interface), a "power user" UI, and so on.
</description><link>http://ayende.com/3080/my-code-sucks#comment9</link><guid>http://ayende.com/3080/my-code-sucks#comment9</guid><pubDate>Fri, 04 Jan 2008 18:13:15 GMT</pubDate></item><item><title>GLM commented on My Code Sucks</title><description>The second time you write something it mysteriously goes better :)
</description><link>http://ayende.com/3080/my-code-sucks#comment8</link><guid>http://ayende.com/3080/my-code-sucks#comment8</guid><pubDate>Fri, 04 Jan 2008 12:00:55 GMT</pubDate></item><item><title>Jon Skeet commented on My Code Sucks</title><description>Darius: Agreed. There's another attitude I really like - encouraging others to review hard.
  
  
In a previous job, I had a colleague who would always come to me for a code review, even though she knew I'd be more likely to really look at the code and suggest changes than other reviewers might. (Many people did really cursory reviews.) She knew that it would almost always mean more work for her, but that she'd improve because of it. I can't think of many better indicators of someone's commitment to quality and self-improvement.
</description><link>http://ayende.com/3080/my-code-sucks#comment7</link><guid>http://ayende.com/3080/my-code-sucks#comment7</guid><pubDate>Fri, 04 Jan 2008 11:14:22 GMT</pubDate></item><item><title>Darius Damalakas commented on My Code Sucks</title><description>You know what I like most in my team?
  
When people do criticize their own code. Not wheeping, not crying "ah, i am stupid" (yes, maybe you are), but giving strong concrete and _personal_ opinion of why the code is bad.
  
  
This is what i do constantly in my team - i publicly criticize my own code and then tell how i would do it better. And i encourage others to do so too.
  
</description><link>http://ayende.com/3080/my-code-sucks#comment6</link><guid>http://ayende.com/3080/my-code-sucks#comment6</guid><pubDate>Fri, 04 Jan 2008 09:09:14 GMT</pubDate></item><item><title>Jeremy Gray commented on My Code Sucks</title><description>Keep it comin'! Everyone's code progressively sucks, a little more with each character they type. :) And it keeps on sucking until you go back and clean it up (which in turn gains its own, but hopefully smaller, suckitude.) There's nothing wrong with this: it's just how we all learn and learn all the time, we do.
</description><link>http://ayende.com/3080/my-code-sucks#comment5</link><guid>http://ayende.com/3080/my-code-sucks#comment5</guid><pubDate>Fri, 04 Jan 2008 06:50:03 GMT</pubDate></item><item><title>Joe Ocampo commented on My Code Sucks</title><description>I don't know what is more impressive...your humility or the fact that you rewrote the dam thing in less then a day!
</description><link>http://ayende.com/3080/my-code-sucks#comment4</link><guid>http://ayende.com/3080/my-code-sucks#comment4</guid><pubDate>Fri, 04 Jan 2008 05:23:50 GMT</pubDate></item><item><title>Jeremy Ross commented on My Code Sucks</title><description>This is great because this is the same kind of stuff that almost every project faces.   Sometimes you have to stop and "clean up the kitchen".  Boundaries start to get blurred, the orthagonality of layers and abstractions become compromised.  
  
  
You're doing the right thing.  Martin Fowler says that you can NEVER do it right the first time.  Always makes me feel good to hear someone like Mr. Fowler say these kinds of things.  
  
  
Jeremy
</description><link>http://ayende.com/3080/my-code-sucks#comment3</link><guid>http://ayende.com/3080/my-code-sucks#comment3</guid><pubDate>Fri, 04 Jan 2008 04:30:40 GMT</pubDate></item><item><title>Steve commented on My Code Sucks</title><description>I agree with Mats.
  
  
Maybe it's the short week for me at work this week, but today I opened some code I was doing before Christmas.  I know I was liking it before Christmas, but I saw it today and thought: wow, you really complicated this thing Steve.
  
  
I went back, refactored it, removed some of the extraneous complexities and made it more simple.
  
  
KISS is a principle I like, and when I try to get too 'fancy' I end up scratching my head later saying 'gee, did it need to be that hard'  :)
  
  
Just glad to see you share this info though, its insightful 
</description><link>http://ayende.com/3080/my-code-sucks#comment2</link><guid>http://ayende.com/3080/my-code-sucks#comment2</guid><pubDate>Fri, 04 Jan 2008 02:19:23 GMT</pubDate></item><item><title>Mats Helander commented on My Code Sucks</title><description>"My Code Sucks"
  
  
I beg to differ. But:
  
  
"Anyway, I am ranting and I should stop."
  
  
No, please go on! This was a really good post imho...the "It turns out that this has the usual "let us build the whole layer at a time" " remark was priceless, as was "I tried to be clever, and it is clever, in a horrible sort of way.".
  
  
Very few posts are as informative and interesting as when a good coder rips some code to shreds, critisizing exactly what's wrong with it - but doing it to someone else's code isn't really polite so the only reasonable option is to attack your own code. But that takes Big Kahunas to do publicly like this. Kudos.
  
  
/Mats
</description><link>http://ayende.com/3080/my-code-sucks#comment1</link><guid>http://ayende.com/3080/my-code-sucks#comment1</guid><pubDate>Fri, 04 Jan 2008 02:04:37 GMT</pubDate></item></channel></rss>