This principle comes with a important consequence – that it’s important that programmers put in the effort to make sure that this code is clear and readable.
I’m quite a fan of XP and agile in general. There’s a common misconception about documentation as related to XP, meaning that XP prescribes not to write any documentation. In a way it’s almost true, but it was just to question the value of all the documents that some process require. When you really think about it, an awful lot of them won’t make the final product any better, nobody will really want to read them, and they will probably be out of date.
Which is why I really like this quote from Martin Fowler. It added one more element to why I think why the XP practices, when well understood, lead to a good program, with good code and good design. I strongly suggest you read the whole article.
Popularity: 6% [?]
Not everyone will enjoy the opportunity to learn something new. Some people will reject all of your attempts to have them try something new. Then it’s time to ask yourself if these people are truly contributing what you need contributed to the organization.
Another quote from Johana Rothman. If you are interested in management, I strongly suggest adding her blog to your news feeder.
This quote is a followup to my previous post. It’s something I have a bit of a problem with. I personaly like to always work on new stuff, to improve myself. I have trouble understanding people who don’t enjoy that also. It leads to situation where I think I’m proposing something interesting to someone and I end up a bit angry when I don’t get the expected answer.
Popularity: 2% [?]
The longer you hold a particular position in the organization, the more you need to consider coaching other people. If you become indispensable, you need to fire yourself from your current position and obtain a new one (in the same company is fine).
This might sound strange to some people, but for the good of the organization, you need people that will grow with it, that will adapt to change. You want people who are up to new challenge. But you also want them to help others, to coach them so that they can grow too.
Popularity: 2% [?]
The social sciences are also fairly bogus, because they’re so much influenced by intellectual fashions. If a physicist met a colleague from 100 years ago, he could teach him some new things; if a psychologist met a colleague from 100 years ago, they’d just get into an ideological argument.
That was too funny to pass on. I normally don’t really like what Paul Graham has to say, but this time he nailed something that I never could quite articulate by myself about social science.
Popularity: 3% [?]
I discovered that in the presence of SelfTestingCode, most bugs that static types would have were found just as easily by the tests.
Last night I was playing with rails trying to understand some of the features. Old habits kicked in. I did not write some tests and got bitten once again. Lost almost an hour on a few stupid typos. As Martin Fowler explains, tests are more important in a dynamic typed language as the compiler won’t catch some errors for you. Fortunately, rails supports testing right out of the box.
Popularity: 7% [?]
I don’t care how good you think your design is. If I can’t walk in and write a test for an arbitrary method of yours in five minutes its not as good as you think it is, and whether you know it or not, you’re paying a price for it.
In the last few months I’ve had the chance to code a couple of projects using test driven development, that is writing unit test before the actual code. Whenever I have to go back to code not written that way, I’m entering a world of pain. The peace of mind it provides when writing and most importantly changing code is unbelievable.
Because you want the test to be easy to write, you have to make sure the class is easy to instantiate. This generally leads to very low coupling, which is a sign of a good design.
Popularity: 5% [?]
Ruby on Rails is a web development framework. It is surprisingly easy to create a web application with it. It takes care of the mapping to the database. You can find a sample video that will setup rails and create a simple blog in under ten minutes. In the coming weeks, I will document my experiences with rails on this blog. Stay tuned.
Popularity: 6% [?]