﻿<?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>Tom commented on A meta post about negative code reviews</title><description>@Steve

Yup, you're definitely a new guy.  The thumbprints are all over your posts.  You're definitely a Jr. Programmer.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment62</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment62</guid><pubDate>Sun, 22 Jan 2012 01:17:55 GMT</pubDate></item><item><title>Deyan commented on A meta post about negative code reviews</title><description>Ayende, Negative or positive, the important point in my opinion is that you spend *your* personal time to write the reviews, for which you deserve a big "Thank you"!</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment61</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment61</guid><pubDate>Thu, 19 Jan 2012 09:39:36 GMT</pubDate></item><item><title>Steve commented on A meta post about negative code reviews</title><description>@Tom,

Not at all, I've been a reader and poster here for years. What I've learned from your eloquent posts is that you behave a lot worse than anything Ayende has be accused of in this or other review threads.  Classic internet tough guy, so pathetic.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment60</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment60</guid><pubDate>Wed, 18 Jan 2012 17:02:38 GMT</pubDate></item><item><title>Tom commented on A meta post about negative code reviews</title><description>@Steve

You must be a new reader of this blog.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment59</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment59</guid><pubDate>Wed, 18 Jan 2012 14:22:33 GMT</pubDate></item><item><title>Dave Robbins commented on A meta post about negative code reviews</title><description>@ Steve "This latest project was made to support a book the author is trying to sell as Enterprise solutions, all the more reason to bring up potential problems with the design and implementation."

You echo my point as well.  This is not an open source project by a guy who is trying real hard and doesn't have experience.  The guy wrote a book.  About Enterprise practices.  All official with MS Press, Dino Esposito etc.  It should not be this sloppy and the author should be ready for criticism.  This is not bullying, this is not name calling.  It is fair game.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment58</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment58</guid><pubDate>Wed, 18 Jan 2012 02:45:55 GMT</pubDate></item><item><title>Steve commented on A meta post about negative code reviews</title><description>@Tom

That sounded negative, and almost like a personal attack, better watch out or a bunch of people will accuse you of being a bully.

A good number of you people really need to gain some perspective. A negative review of publicly displayed code is so far from being "cyber bullying" it can't even see it from where it stands. In a day and age where it is a legitimate issue, you are completely cheapening the meaning of the term by trying to apply it here.  Grow up, seriously.

To the issue at hand, the most important statement Ayende made is this:

&lt;b&gt;The major reason that I do those negative code reviews is because I keep seeing the same types of mistakes repeated over and over again at customer sites&lt;/b&gt;

If anyone wants to post a best practice like that train wreck of a DDD that was put out over the summer, it deserves criticism. Because people tend to forget that .NET programmers love to copy and paste, they love to blindly take what they feel is "best practices" and without thinking put it into their own code bases.  Before you know it, there is a big ball of mud that is incredibly expensive to maintain, and it runs like a pig.

This latest project was made to support a book the author is trying to sell as Enterprise solutions, all the more reason to bring up potential problems with the design and implementation.

Ayende is not coming to a developers house, looking over their shoulder and yelling at them about private code, he is commenting on public code that the authors claim is teaching tools.

Are movie critics who bash a bad movie bullies? Are sports writers who point out how badly a losing team played bullies?  This is no different. 
</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment57</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment57</guid><pubDate>Tue, 17 Jan 2012 16:11:21 GMT</pubDate></item><item><title>oleksii commented on A meta post about negative code reviews</title><description>I just love those reviews</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment56</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment56</guid><pubDate>Tue, 17 Jan 2012 15:14:22 GMT</pubDate></item><item><title>Mandar commented on A meta post about negative code reviews</title><description>Hi,
I have been reading your code reviews from past month. These are really good comments to understand the current northwind architecture. However, what I feel is negative code reviews should be taken as positive so as to make improvements. Because a creator always thinks he had designed the best solution, but when you review as a third person, you may find some potential problems. I would highly appreciate your efforts if you try to post some templates for architecting the project so that it will clear some doubts about how to architect enterprise applications....

Thanks for your nice reviews. And please keep posting....</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment55</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment55</guid><pubDate>Tue, 17 Jan 2012 05:17:56 GMT</pubDate></item><item><title>Tom commented on A meta post about negative code reviews</title><description>@Oren

O&gt; Tom, did you see the right hand side of this blog? On the top, there is a nice search box that does really nice searching on the blog.

Seriously Oren, you should stop embarrassing yourself like this.  For search I put in "needless abstraction" since it's something you like to bash, and per your comments above I was hoping to pull out a few good examples of how you would have handled the situation.

The results are laughable.  Here are samples from the first three results, which I'd hope a super-dev like you would make the most relevant.

1) Let us explore all the ways it is broken.

2) Now here are a few problems that I have with this:

3) was completely ridiculous in the level of abstraction

There is nothing to learn from that pathetic search engine, whatever it is you are using.


2) </description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment54</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment54</guid><pubDate>Tue, 17 Jan 2012 03:07:46 GMT</pubDate></item><item><title>gunteman commented on A meta post about negative code reviews</title><description>I don't consider myself to be a "hater" or "bitching" about this. I'm not voicing my opinion just because I have it and feel an urge to bash Ayende. I do it because I find Ayende to be a beacon of sanity (the fact that he changed his mind about repositories is just evidence of that), and *for me* that beacon is dimmed, quite a lot, by these code reviews. I've suggested a different format, focusing on specific bad patterns or practices (with examples from openly available projects), instead of specific projects, and I think everyone can derive even more pleasure, fun and knowledge from that. Your daily dose of WTF can be found elsewhere. It would be sad if Ayende's community leadership was largely based on him taking a piss on other people's code.

"To the comments about people thinking that they are their code. I don't really care. I have little control over what other people do, and people who identify so closely with their code need to pull out and understand that there is actually a difference. If they can't... again, that is not something that I can do much about."

Fair enough. Just don't play the "it's nothing personal" card. That's just a leaky abstraction.

I may be easily offended, but I don't consider taking the empathic route to be the easy or boring way out. </description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment53</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment53</guid><pubDate>Mon, 16 Jan 2012 21:56:05 GMT</pubDate></item><item><title>Fish commented on A meta post about negative code reviews</title><description>@Bunter very funnny :-) 
My problem is not that Ayende changed his mind about how things should be done. I just miss the explanation of "why i loved it in the past" and "why i don't love it anymore". That's all :-)</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment52</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment52</guid><pubDate>Mon, 16 Jan 2012 21:43:48 GMT</pubDate></item><item><title>David Clarke commented on A meta post about negative code reviews</title><description>Agree with @Travis, +1 for #5. I appreciate the insight into what is wrong with the code but it only provides half the story and less than half the value. A teacher shows an example of a problem, explains why it is a problem, and then how to correct the problem. Otherwise you're just a critic.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment51</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment51</guid><pubDate>Mon, 16 Jan 2012 20:14:13 GMT</pubDate></item><item><title>Philip commented on A meta post about negative code reviews</title><description>@Ayende:

Thank you for doing these reviews and publishing them.  If I ever feel you are being insulting or "mean", I will quit reading them, or perhaps write a review of your reviews and publish that myself.


I applaud that you won't style because some vocal people bitch.   Anyone who wants to unsubscribe is able to.   Anyone who wants to disagree can publish their opinion just as well.   If you want to act on any suggestions you feel are worthwhile, great...

But if I want to read a blog written by committee and combed over to ensure it doesn't offend anyone, I can find that almost anywhere.  I prefer substance.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment50</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment50</guid><pubDate>Mon, 16 Jan 2012 20:07:44 GMT</pubDate></item><item><title>Travis commented on A meta post about negative code reviews</title><description>Yup, +1 for #5. If you don't show how "you" would implement the exact code/requirement under review, its just comes across as bitching and complaining and pointing out faults.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment49</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment49</guid><pubDate>Mon, 16 Jan 2012 19:19:53 GMT</pubDate></item><item><title>João Bragança commented on A meta post about negative code reviews</title><description>@Bunter +1. If the facts change, or you learn something new, and your opinion DOESN'T change? Then there's something wrong with you.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment48</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment48</guid><pubDate>Mon, 16 Jan 2012 18:45:27 GMT</pubDate></item><item><title>Bunter commented on A meta post about negative code reviews</title><description>:) "And Ayende said: look and behold, the repository is good. And developers laid their holy infrastructure on this holy pattern. And then Ayende said: look and behold, repository suxx. And there was great angst and bewilderment amongst the developer-folk. And they spoke to Ayende: oh why have you forsaken us and change like customer requirements instead of being holy and static like HttpContext.Current".

The fact that Ayende's views change and improve are one of the reasons I like reading his blog :) If I would ever want to read static, dogmatic and claiming-to-be-right-from-beginning texts, I know few books. Luckily, reality checks in from time to time in software development.


</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment47</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment47</guid><pubDate>Mon, 16 Jan 2012 18:13:51 GMT</pubDate></item><item><title>Fish commented on A meta post about negative code reviews</title><description>I have no problem with bad code reviews. But i think you are not right on your point #5. Search your blog and you will find a lot of posts about Repositories and how to use them. Also look at your NH videos from 2007 and later, where the use of Repositories was the only right way to go for you. Then you completely changed your mind and now repositories are an evil thing. This is confusing, especcialy for people who learned things from your blog in the past. On the other hand are explanations about the why a little vague and there are no real examples that show a better way. You wanted to do examples in the past, the last on was Macto, but they never saw the light of day. I think this is one of reasons, why some people here are a little angry about such code reviews and I think no one has a problem when you point out some real bad code (see your last post). </description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment46</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment46</guid><pubDate>Mon, 16 Jan 2012 11:17:41 GMT</pubDate></item><item><title>Rowen McDermott commented on A meta post about negative code reviews</title><description>@Rafal... This is a general post so I cannot be specific about a problem. Maybe "problem" was not the correct term.... but I think if you read it in context it should be pretty clear. If during a review you think something is coded in a bad way, then suggest a better way. So the"problem" is whatever problem the reviewer has found with the code and what the code is trying to achieve.

I don't expect Ayende to change his style etc. and I know we can search if it is something we are really interested in... but like many have suggested it should be easy to add a link to a better way if one exists (at I higher/conceptual level... I would not expect a code rewrite), and would make these blog posts even more valuable in my opinion. </description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment45</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment45</guid><pubDate>Mon, 16 Jan 2012 11:10:09 GMT</pubDate></item><item><title>Ayende Rahien commented on A meta post about negative code reviews</title><description>Tom,
did you see the right hand side of this blog? On the top, there is a nice search box that does really nice searching on the blog.
</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment44</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment44</guid><pubDate>Mon, 16 Jan 2012 07:31:40 GMT</pubDate></item><item><title>Ayende Rahien commented on A meta post about negative code reviews</title><description>James,
Interestingly enough, I _did_ do a short review of the project before.
I got an overwhelming amount of criticism about this being an insufficiently detailed review and not a valid way to criticize a project.
See: http://ayende.com/blog/152706/application-review-northwind-starter-kit 

So I am afraid that no, just a quick note with regards to that is NOT sufficient.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment43</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment43</guid><pubDate>Mon, 16 Jan 2012 07:30:23 GMT</pubDate></item><item><title>Ayende Rahien commented on A meta post about negative code reviews</title><description>To the comments about the style of writing, especially with regards to referring to how I feel about certain things. 
a) That is how I write. I have very little intention of changing that.
b) That is part of what actually makes a post interesting, otherwise, I might as well just put a code listing and that is it.
c) A lot of design decisions end up being gut reactions after a while, you know that this is wrong because you react to that, then you break it down to why.

To the comments about people thinking that they are their code. I don't really care. I have little control over what other people do, and people who identify so closely with their code need to pull out and understand that there is actually a difference. If they can't... again, that is not something that I can do much about.
</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment42</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment42</guid><pubDate>Mon, 16 Jan 2012 07:25:04 GMT</pubDate></item><item><title>Ayende Rahien commented on A meta post about negative code reviews</title><description>Johan,
I already wrote about that, see here, for example:
http://ayende.com/blog/3955/repository-is-the-new-singleton </description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment41</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment41</guid><pubDate>Mon, 16 Jan 2012 07:21:15 GMT</pubDate></item><item><title>Scott commented on A meta post about negative code reviews</title><description>the haters can be a vocal minority. keep it up, they've got a great opportunity they're squandering if they aren't fixing their code. plus bad code can solve problems, but is probably accidently functional</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment39</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment39</guid><pubDate>Mon, 16 Jan 2012 05:01:40 GMT</pubDate></item><item><title>Derek commented on A meta post about negative code reviews</title><description>Im also very much associated with the code I write.  I also gladly welcome any criticism.  In fact I'd probably spend many hours talking or listening to someone that was willing to help.  And don't worry, you won't hurt my feelings.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment38</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment38</guid><pubDate>Mon, 16 Jan 2012 01:24:56 GMT</pubDate></item><item><title>Tom commented on A meta post about negative code reviews</title><description>How about providing a full text search so we don't have to rely on the piss poor coding of this blog software to locate specific tags when trying to find the RIGHT way to do something with respect to item #5.

How about that code review big mouth?

</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment37</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment37</guid><pubDate>Mon, 16 Jan 2012 01:10:12 GMT</pubDate></item><item><title>DalSoft commented on A meta post about negative code reviews</title><description>When you have a non coding architect you usually find big design up front. With big design up front you usually find that 'best practice' is applied before you have fully uncovered the problem you are trying to solve. At least that's my experience too anyway. Reviewing code and highlighting these problems helps our .NET community.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment36</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment36</guid><pubDate>Mon, 16 Jan 2012 00:35:37 GMT</pubDate></item><item><title>Fred commented on A meta post about negative code reviews</title><description>@PandaWood: I agree with you that there is no problem with negative code reviews and personally like to hear the negatives about my own code so I can also learn.

Are you reading this blog for character or the technical usefulness of the content. I am guessing but I think Ayende is not doing this blog for the character but that is just his personality / style showing (not meant to be negative, but fact). I doubt 1 sentence is really going to make you fall asleep. 

I also did not suggest "toned down" sentence at all but rather that the relevant information was intact without the additional sentence that added no technical value.

"Fluffy criticism is less explicit, takes longer to read &amp; write &amp; doesn't have any impact." I would suggest that a more objective review (negative or positive) with the facts should be sufficient on its own. I don't think anyone was asking to make it fluffy but rather more objective so these types of debates are not needed.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment35</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment35</guid><pubDate>Mon, 16 Jan 2012 00:31:32 GMT</pubDate></item><item><title>Demis Bellot commented on A meta post about negative code reviews</title><description>FWIW I think it's perfectly fine to call out 'guidance architectures' as the over-architected, unnecessary, bloated complexity they are. They just serve to add to the long line of 'enterprise app architecture' more concerned with the technology/process than the problem at hand.</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment34</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment34</guid><pubDate>Mon, 16 Jan 2012 00:19:50 GMT</pubDate></item><item><title>Brian commented on A meta post about negative code reviews</title><description>"1.You are an evil person and a cyber bully to actually do those sort of things and humiliate people."

That's hyperbole...being right is orthogonal to being rude.  But then we do have to consider that at 30 you're not so far removed from your teenage years.  Some asshattery is still to be expected.

"2.You have something against the author of the personally, and you set out to avenge them."

I'm pretty sure avenge is not the word you were looking for here (it would seem the law of conservation of irony holds here...in fact, based on many of the comments it seems so does the law of conservation of strawman argumentation).</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment33</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment33</guid><pubDate>Mon, 16 Jan 2012 00:12:22 GMT</pubDate></item><item><title>PandaWood commented on A meta post about negative code reviews</title><description>I have no problem with the negative code reviews. 

My experience with smart people worth learning from, is that any of their time is worth taking. I don't expect them to follow up with a complete series on "how to do it right" or tone down their thoughts to neutral, fluffy criticism. 

My best teacher was a guy who probably didn't give a hoot whether I was offended or not. It takes time &amp; effort to try &amp; be a "people-person" as well - skills that I don't expect smart coders to have - nor do I want! Fluffy criticism is less explicit, takes longer to read &amp; write &amp; doesn't have any impact. I'll take whatever Ayende is prepared to give us.

As an example, Fred's suggested "toned down" sentence, specially for sensitive coders, has no character and I nearly fell asleep before finishing it (there you go, that's my negative feedback, complete with character).</description><link>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment32</link><guid>http://ayende.com/153697/a-meta-post-about-negative-code-reviews#comment32</guid><pubDate>Sun, 15 Jan 2012 23:10:13 GMT</pubDate></item></channel></rss>