Asier's thoughts

Blogging about software development


Leave a comment

The only way to go fast is to go well.

– Robert C. Martin

Uncle bob is a big advocate of writing high quality code or clean code as he likes to call it. He says the success of software projects are strongly related in their internal quality. The lower the quality of the code the more difficult will be to make changes to it.

Software projects with low quality will make delivery schedules to get postponed and thus big amounts of money got lost. This will create bigger pressure in the project making developers to go for the quick and dirty way. As a snowball effect quality will go down down down.. Every new change will make the code even worse and harder to make more changes in the future.

Therefore, for a successful delivery of a project quality is paramount. Every day developers will have to keep their code base clean and avoid the quick and dirty option. Even if management is pressuring them! Going dirty will never be quick at the end of the day. The dirty way will slow us down. It will be foolish. Thus, The only way to go fast is to go well.

Practices as unit testing, TDD, mercilessly refactoring, keeping the background cleaner than you found it and giving honest estimates will help in the matter. I like to keep my code clean, taking extra care. Small classes with small methods with the right names, etc.  It is not an easy task to be honest. Just practice and experience can teach you. Still I have much too learn!

Also I highly recommend reading the book Clean code by Robert C. Martin.

Clean code book

Good luck and keep that code clean! 🙂

Advertisements


Leave a comment

The rise of Javascript

In the last few years Javascript has become quite a popular thing and it looks like it is getting bigger and bigger day by day.

cat

I’ve recently read JavaScript Patterns from Stoyan Stefanov and I can say that it is quite a good read. If you want to learn what Javascript really is, go for it!

I remember my first approach to this language about 10 years ago when I was learning the basics of the web. To be honest, I kind of hated it at that time. I thought it was a wrong version of java and too complicated to use – how wrong I was! I would use it for client side html manipulation, which it wasn’t easy at all at that time.. specially debugging it was quite hard! So I gave up.

Through the last years with jquery and all those libraries things have changed a lot. Programming javascript became easier and the language started showing up more and more in web browsers.  More js skills were demanded for software developer roles. So I decided to give it another go.

I liked more this time, but I wasn’t totally convinced till recently.

It’s been the last few months when I am really liking it. And enjoying it! 🙂 I started playing around with unit testing libraries like jasmine, watching some videos from Crockford and learning node.js and express.js. I can tell that really I didn’t know Javascript! And this have been more clear after I read the book from Stoyan Stefanov.

It’s kind of a change of mindset. I am coming from strongly typed class based languages like C# or Java. But Javascript is dynamic typed and prototyped based. I have already came across to dynamic languages with Ruby or PHP, but no having classes is a new thing for me.

I don’t think many developers really understand Javascript and because of that they will say it is a secondary language.. Well, I can say that they are wrong!

Javascript is getting more and more and more popular. A lot of client side applications are being written in javascript, there are a lot of libraries out there to do almost everything and now with node things are getting even better. Good proof of that is we are starting to see javascript showing up in the enterprise, paypal has moved from java to javascript! And we will be seeing it even more. There is even people talking that it will become the one language. Who knows, time will tell..