Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Understanding Software

You're reading from   Understanding Software Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer

Arrow left icon
Product type Paperback
Published in Sep 2017
Publisher Packt
ISBN-13 9781788628815
Length 278 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Max Kanat-Alexander Max Kanat-Alexander
Author Profile Icon Max Kanat-Alexander
Max Kanat-Alexander
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

1. Table of Contents FREE CHAPTER
2. Understanding Software
3. Credits
4. About the Author
5. www.PacktPub.com
6. Customer Feedback
7. Foreword
8. One. Principles for Programmers 9. Two. Software Complexity and its Causes 10. Three. Simplicity and Software Design 11. Four. Debugging 12. Five. Engineering in Teams 13. Six. Understanding Software 14. Seven. Suck Less 15. Index

Chapter 11. Simplicity and Strictness

As a general rule:

The stricter your application is, the simpler it is to write.

For example, imagine a program that accepts only the numbers 1 and 2 as input and rejects everything else. Even a tiny variation in the input, like adding a space before or after "1" would cause the program to throw an error. That would be very "strict" and extremely simple to write. All you'd have to do is check, "Did they enter exactly 1 or exactly 2? If not, throw an error."

In most situations, though, such a program would be so strict as to be impractical. If the user doesn't know the exact format you expect your input in, or if they accidentally hit the spacebar or some other key when entering a number, the program will frustrate the user by not "doing what they mean."

That's a case where there is a trade-off between simplicity (strictness) and usability. Not all cases of strictness have that trade-off, but...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime