Most traditional programming languages provide several ways to abstract away complexities of code, and instead present a well defined interface.
What does that mean? Well, in simple terms it’s a restricted set of entry points into that code that make it clear how you can interact with it.
Was this email forwarded to you?
| Subscribe Here! |
Take, for example, a web page with a form that takes your username and password. The interface is made up of the username field, the password field, a ‘forgot my password’ link and perhaps a few other links. Other than that, you don’t really have any other access to what’s going on behind the scenes.
You can do the same over a piece of code - for example in many languages you would define a module or class that processes someone’s login information. You might expose a function for setting the username and password, something like:
login.request(username, password)
and perhaps a way to ask whether login was successful, and perhaps a ‘key’ to access the user’s information in other parts of the code once they have been confirmed.
Apart from these exposed functions, the rest of the encapsulated code is usually hidden away from the other parts of the program. Typically the developer’s tools will help out by listing the functions that are exposed as you write the program. Something like this:
You can also define your own restricted interfaces around parts of spreadsheets as well - though it takes a little bit of knowledge of how a few features work together.
Later on we’re going to go through three examples based on the scenarios we talked about earlier:
Until next time, thanks for reading!
– Brendan
p.s. Enjoy this message? Read more at the Hyland Quality Systems website.
I'm Brendan Hyland. I help regulated facilities transform their software, spreadsheets, workflows and documents from time-consuming, deviation-invoking, regulatory burdens, to the competitive advantage they were meant to be. Join me every week as we take a few minutes to explore, design, test and improve the critical systems we use in our facilities.
I’ve seen this pattern repeatedly: Instrument data is saved as an Excel or CSV. Data is then copied to a bare-bones spreadsheet with several columns of calculations or transformations. Results from the spreadsheet’s calculations are copied for use further down the data analysis pipeline. And I, the auditor, get handed a signed and dated pdf of the worksheet. Was this email forwarded to you? Subscribe Here! Why yes, M. Inspector, this spreadsheet was validated! Ok, they are rarely this bad - I...
Calling quality people everywhere! I've just released something I think you'll find useful. Over the past 20 years working in regulated environments, I've seen the same spreadsheet problems show up again and again: A quick Excel tool gets built to solve an immediate need. It works. Gets "validated" with a few hand calculations. Then gets reused and modified for different datasets or slightly different purposes. Eventually - sometimes months or years later - someone discovers an error. Or an...
I'm thrilled to announce that I'll be presenting at the CCSQA/NERCSQA Joint Annual Meeting in October! The conference is 2 days, Thursday & Friday, 16-17 October 2025, in Laval, Quebec, Canada. On-site and virtual attendance available. Here's the announcement link: https://sqa.org/CCSQA/CCSQA/Events/Upcoming_Events.aspx My session is on Friday morning, and titled "The power of a specification: Freeing your creative self to go beyond compliance." Here's the abstract: As busy quality...