Category: Better Coder

  • Martin's Object-Oriented Principles

    I have said it many times… programming is easy. It’s easy to just write a few classes, add functions and have a running program. Anyone can learn that. However, to program well, you have to be able to design classes that have good structure, are easy to modify, easy to understand, and are able to…

    Read more...

  • Good Code

    I strongly agree with Manuel. Keep in mind that you write code for somebody else to modify. If it is not easy to do so, then your code is not good! Remember that maintainance is 70%+ of the project’s life. If you cannot make modifications easily, then you really are wasting time. It’s good to…

    Read more...

  • PPP: Practice, practice, practice

    Practice makes perfect. I think you can agree with me on that. To become a craftsman, you not only need to acquire new knowledge and new skills, you need to be able to apply that knowledge, be able to polish your skills, and improve the output every time. I don’t remember who said it, Mozart…

    Read more...

  • Simple is Beautiful

    Programmers love complexity. We love to make things that are complicated. Why is that? I think it’s because programmers think that it makes them look good. 🙂 I think they feel they accomplished something big. Or is it that it gives them job security? (probably not) 🙂 What’s the root of the problem? I think…

    Read more...

  • Read Books

    What was the last book you read? Has it been long? The bottom line, to become a better coder, better [anything], you have to do the things you are used to do… better. Reading books is one of the best ways to acquire knowledge, to deepen your knowledge, to improve yourself: to become better. How…

    Read more...

  • Use an Expert

    Adding new responsibilities to a class is a fairly common thing in coding. We do that when we get a request from a business person. We do that also when we refactor parts of a project. It’s an everyday activity you can say. But here’s a question? How do you determine where to put the…

    Read more...

  • Code Reviews Are Good

    I hesitated posting this… The last thing I want is more red tape. However, after reading about code reviews in several sources, I am convinced that the reward is worth the price. The bottom line, code reviews improve code quality. While no silver bullet, they force us to write better code — knowing that somebody…

    Read more...

  • Single Responsibility Principle

    A fairly common occurence I’ve come across in software development is that a class I’m working onchanges for various non-related reasons. For one type of change, I modify a portion of it, and for another, another portion. That’s not a good situation. Martin Fowler calls this “divergent change” under the Code Smells category. He says thefollowing,…

    Read more...

  • Special Exceptions Ruin OO Projects

    In an object-oriented world, special exceptions are evil. To me, they ruin a well-structured framework/project. Yet in the business world, they are fairly common. What do you do? I think the worse thing you can do is to actually add a special exception to a special-case free project. Once you do that, your project will…

    Read more...

  • OO Design Heuristics for Classes and Objects (Riel)

    Writing good OO code is not easy. Here’s a set of rules of thumb when creating classes. These are taken from the Object-Oriented Design Heuristics book by Riel — good stuff. 2.1 All data should be hidden within its class. 2.2 Users of a class must be dependent on its public interface, but a class…

    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…