background preloader

General

Facebook Twitter

Top 10 Things That Annoy Programmers. 10.

Top 10 Things That Annoy Programmers

Comments explaining “what”, but not “why” Introductory-level programming courses teach students to comment early and often. And while this may be a useful practice during programming infancy (when even the simplest line of code can be incomprehensible), many programmers never bother to shake the habit. Do you have any idea what the code above does? Me neither. The problem is that while there are plenty of comments describing what the code is doing, there are none describing why it’s doing it. Much better! Write comments to help readers understand the code, not the syntax. 9. In general, programmers tend to be more akin to locomotives than ferraris; it may take us awhile to get started, but once we hit our stride we can get an impressive amount of work done. 8.

Wikipedia defines scope creep as “uncontrolled changes in a project’s scope”. Version 1: Show a map of the locationVersion 2: Show a 3D map of the locationVersion 3: Show a 3D map of the location that the user can fly through 7. Technical Debt Decision Making - 10x Software Development. Steve McConnell said: December 18, 2007 12:47:PM Kevin, You might check out some of the examples of technical debt from my first post on the topic.

Technical Debt Decision Making - 10x Software Development

Here's another example that illustrates the answers to many of your questions. Let's say that you're developing a large app that requires, among other things, 5 reports. Your plan is to design a set of custom report writer classes that are specific to the nature of the application you're working on and that will make generation of additional reports later on easier. Here's how the options I listed before might play out in this example: Option 1: Good Path Write all the custom classes, test them, and implement the 5 reports using those classes.

Immediate cost of Good Solution: 10 staff days Deferred cost to retrofit Good Solution: 0 staff days Option 1 cost now: $6,000 Option 1 cost later: $0 Option 1 lifetime cost: $6,000 Option 2: Pure Quick & Dirty Path Use your database's built-in report-writer. Deferred cost to retrofit Good Solution: 12 staff days. The Joel Test: 12 Steps to Better Code.

By Joel Spolsky Wednesday, August 09, 2000 Have you ever heard of SEMA?

The Joel Test: 12 Steps to Better Code

It's a fairly esoteric system for measuring how good a software team is. No, wait! Don't follow that link! The neat thing about The Joel Test is that it's easy to get a quick yes or no to each question. A score of 12 is perfect, 11 is tolerable, but 10 or lower and you've got serious problems. Of course, these are not the only factors that determine success or failure: in particular, if you have a great software team working on a product that nobody wants, well, people aren't going to want it. 1. 2. If the process takes any more than one step, it is prone to errors. For this very reason, the last company I worked at switched from WISE to InstallShield: we required that the installation process be able to run, from a script, automatically, overnight, using the NT scheduler, and WISE couldn't run from the scheduler overnight, so we threw it out. 3. 4.

Bug databases can be complicated or simple. 5. The Programmer's Bill of Rights. It's unbelievable to me that a company would pay a developer $60-$100k in salary, yet cripple him or her with terrible working conditions and crusty hand-me-down hardware.

The Programmer's Bill of Rights

This makes no business sense whatsoever. And yet I see it all the time. It's shocking how many companies still don't provide software developers with the essential things they need to succeed. I propose we adopt a Programmer's Bill of Rights, protecting the rights of programmers by preventing companies from denying them the fundamentals they need to be successful. The few basic rights we're asking for are easy.