Category: Better Coder

  • Write Debuggable Code!

    “One of the differences between a great programmer and a bad programmer is that a great programmer adds logging and tools that make it easy to debug the program when things fail.” [reference below] I’m sure you’ve experienced a good share of mystery/quiet/business-as-usual failures. Wouldn’t it be nice to have code that is smart to…

    Read more...

  • Joining the TDD camp!

    I am a TDD fan. I’ve been one for a long time. But I’m not a TDD practitioner. I don’t follow the TDD methodology of writing the test first, implementation second. Not yet. Uncle Bob convinced me to try. Again. Time to become a TDD developer! Time to step up my code quality. I have said…

    Read more...

  • The Top 10 Attributes of a Great Programmer

    While looking at the top weekly links on dzone (good way to see what are the important things that happened), I came across a very intriguing entry: The Top 10 Attributes of a Great Programmer by Steve Riley. These always “get me,” but a lot of times they end up being just a quick browse. This one…

    Read more...

  • The Boy Scout Rule

    Uncle Bob in Clean Code states, “the Boy Scout Rule tells us we should leave the code cleaner than we found it.” Another words, when we make changes to the code base, we should make sure we are leaving it (checking in to repository) cleaner. The original rule of the Boy Scouts states: “Leave the campground…

    Read more...

  • Writing Good Code

    Is it because of pressure? Is it because you want to be faster than others? Or is it just because that’s the way you’ve been doing things and it has worked for you? I hope it’s not the case. I hope you take the time to do it right. Because if not, as the saying…

    Read more...

  • Staying Sharp

    A few years ago, Cedric Beust, had a blog entry with the same title. I saved it. Here’s a summary of what he recommended for staying sharp: – Reading (a lot of reading) is certainly a great way to accelerate your skills – Studying other languages is also a fantastic and fascinating way of learning new concepts that…

    Read more...

  • Make fields final, objects immutable

    Are you following these fundamental principles? Just so we’re on the same page, an immutable object is on whose state cannot be changed after construction. This view is supported by Joshua Bloch in Effective Java (2nd). Item 13 states: “Minimize the accessibility of classes and members.” He goes on to say some fundamental principles.

    Read more...

  • What makes a great software engineer?

    Nicholas Zakas, the author of what I consider the best JavaScript book out there, is becoming one of my favorite bloggers! (I should let him know about that. :)) In his recent blog post, he talks about qualities of great software developers. It’s a great post. I highly recommend reading the whole post. Here’s my…

    Read more...

  • Make Quality a Requirement

    As programmers, we want to finish things fast. We want to impress our boss. We want to be better and always finish before others. So we do. We finish things as fast as possible. Because the requirement was to complete the things that were on the list. Just make it work. What’s the end result?…

    Read more...

  • Values for Excellence in Programming

    I am reading Kent Beck’s book Implementation Patterns (which is great so far) and he talks about three values that are consistent with excellence in programming: communication, simplicity, and flexibility. Kent put it so well, and these values are so timeless… that I had to write about it. Communication“Code communicates well when a reader can…

    Read more...

Recent Posts

Tags

2010 2011 abstraction advanced Books code concepts Craftsmanship design patterns encapsulation goals gof grasp immutability innerclass Java javascript jpa learning patterns practicing quality Quotes reading recommended reference solid tdd testing unclebob

Comments

  1. Good blog! I really love how it is simple on my eyes and the data are well written. I'm wondering…