Tracking the standard is valuable but not everything in the standard is equally good. Standards are good for a lot of reasons but primarily because standard means consistency on steroids. In short following standards means being consistent not only with your but with other organization's rules too. This is cool because other organizations can be the ones … Continue reading Value Standards
Category: Lessons
The line length limit
Back in the days, computers could only display 80 columns of text on screen and developers were forced to split up long lines of code so none of them exceeded this limit. Today, it's unlikely that anyone has this problem, so why, people stuck with the line limit rule? For me, the reason I stuck with this standard … Continue reading The line length limit
Be consistent
Writing sustainable code is a long term commitment. To be effective you must be consistent. Consistency allows: Easier expert chunking Tooling (very very important) Allows us to stop arguing about stuff that doesn't matter! (Even more important) What do I mean by consistency? Well consistency includes: Naming and formatting Parameter ordering Namespace naming Declaration order … Continue reading Be consistent
Do not make rules for exceptional cases
Every time, when developers argue about some coding or project management rules, they bring up a lot of cases when these rules simply fail. In my opinion, this can be a very dangerous thing. Our jobs as developers is to code scenarios and think about all the possible outcomes of our algorithms. We want to know precisely when an … Continue reading Do not make rules for exceptional cases
Be resonable
When talking about effective programming and style guides you can't list every dumb thing you shouldn't do, but I think you can follow some higher level principles. For example, my first advice would be "Don't be clever". Being clever leads to highly un-maintainable and potentially dangerous constructs. It is often tempting, to surprise yourself and your … Continue reading Be resonable
Effective programming: Style Guide
I decided to write a short series of "Effective Programming" tips and for the first article I choose to talk about style guides. What is a style guide? A Style Guide is a set of standards for writing and designing code. How do we format our code? When talking about style guides, the first question that … Continue reading Effective programming: Style Guide
When to use LinkedList over ArrayList?
Yeah, I know, this is an ancient question, but is so common among beginning developers that I think it deserves a blog post. The short answer is that almost always an ArrayList is what you want. LinkedList is almost always the wrong choice, performance-wise. There are some very specific algorithms where a LinkedList is called for, but those are … Continue reading When to use LinkedList over ArrayList?
Why you should never invokeAndWait from the EDT Thread
EDT is the same as AWT. All UI events in AWT are scheduled on a single thread called EDT. Basically is the thread used to process UI related events in Swing. When you InvokeAndWait from the EDT, you basically invoke a task and then wait for it to be completed on the same thread . This … Continue reading Why you should never invokeAndWait from the EDT Thread
Should I use rebase in GIT ?
When working on a long term project you want a clean history. Now we must establish what exactly means clean and history. People can, and probably should, rebase their own work. That's a cleanup. But never other peoples work. That's a destroy history. History The history part is easy. You must never ever destroy other peoples history. You must … Continue reading Should I use rebase in GIT ?
The “Cherry Pick Push” GIT Workflow
In this article I will show you a basic GIT workflow that you can use in your projects. This workflow is for newbies, if you are an experienced GIT user you won't need this. Also this isn't the most scalable or efficient way but it’s easy to follow and I think it’s good enough for … Continue reading The “Cherry Pick Push” GIT Workflow