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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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.
-
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…
-
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?…
-
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…
Recent Posts
- The Software Craftsman
- Write Debuggable Code!
- Effective Programming: More Than Writing Code
- Fundamentals of programming
- Steve Jobs on Simplicity
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
Yes it does, thanks a lot for the info.
Good blog! I really love how it is simple on my eyes and the data are well written. I'm wondering…