NUnit .Net unit testing framework | Get NUnit .Net unit testing. The Joel Test: 12 Steps to Better Code. By Joel Spolsky Wednesday, August 09, 2000 Have you ever heard of SEMA? It's a fairly esoteric system for measuring how good a software team is. No, wait! 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. Read more about daily builds in my article Daily Builds are Your Friend. 4. 5. 6. 7. 8. 9. 10. Institute - CWE/SANS TOP 25 Most Dangerous Programming Errors. The Top 25 Software Errors are listed below in three categories: Click on the CWE ID in any of the listings and you will be directed to the relevant spot in the MITRE CWE site where you will find the following: Ranking of each Top 25 entry, Links to the full CWE entry data, Data fields for weakness prevalence and consequences, Remediation cost, Ease of detection, Code examples, Detection Methods, Attack frequency and attacker awareness Related CWE entries, and Related patterns of attack for this weakness.
Each entry at the Top 25 Software Errors site also includes fairly extensive prevention and remediation steps that developers can take to mitigate or eliminate the weakness. Archive Insecure Interaction Between Components These weaknesses are related to insecure ways in which data is sent and received between separate components, modules, programs, processes, threads, or systems. Risky Resource Management Porous Defenses Resources to Help Eliminate The Top 25 Software Errors Mark J. What Is Software Design? by Jack W. Reeves - developer.*, Develo. This is Part One of Code As Design: Three Essays by Jack W.
Reeves. Click here for the introduction. This essay first appeared in the Fall, 1992 issue of C++ Journal. Object oriented techniques, and C++ in particular, seem to be taking the software world by storm. Numerous articles and books have appeared describing how to apply the new techniques. In general, the questions of whether O-O techniques are just hype have been replaced by questions of how to get the benefits with the least amount of pain. If that comment seems a bit unusual, it is deliberate. Years ago I was attending a seminar where the question came up of whether software development is an engineering discipline or not. The final goal of any engineering activity is the some type of documentation. There are probably enough arguments both for and against this premise to fill numerous articles.
There is one consequence of considering code as software design that completely overwhelms all others.