Author Archives: G Wade Johnson

LCDC: Library Code

In LCDC: Fundamental Knowledge, I explained how hard it is to specify a minimum level of knowledge or experience for all programmers. This minimum level would be needed to determine what is allowable for Lowest Common Denominator Code (LCDC). Anyone who has been programming for any time is probably shouting at the screen, calling me… Read More »

BPGB: Readable Code

As you probably know, code is read more often than it is written. Anybody who has worked on code written by anyone else has probably wished that the code were more readable at some point. Writing readable code should definitely be considered a best practice. The problem comes when defining what you mean by readable.… Read More »

BPGB: YAGNI Overdone

One of the design ideas that came out of the early days of the agile movement was YAGNI. As I have written before, this idea is push back against the tendency of many programmers to over-engineer or over-complicate our designs. We normally use some variation of the flexibility argument to justify this tendency. In fact,… Read More »

BPGB: The Witch Hunt

For the next entry in the Best Practices Gone Bad series of posts, I have a topic I wish I had thought of. In issue 125 of Overload magazine (Feb 2015), Sergey Ignatchenko wrote an article entitled Best Practices vs Witch Hunts. Sergey covers a somewhat different approach to how best practices go bad. He… Read More »

Git for the Solo Programmer

Despite the press in recent years asserting the software development is always a team activity, there are still individual programmers building software without help from others. I’ve recently had a question from one such individual asking if version control makes sense for a developer working alone. Despite working in teams for years, I also work… Read More »

Design Principle: Just in Time Decisions

One of the classic mistakes of software development results from thinking we know what we are doing. Entirely too many people in software start off each project believing they know enough about the project to lay out the whole design. Except in the rare circumstance that you are building an exact copy of something you… Read More »