Software Design in Python Glossary

Posted

Your lesson plan will give me a vague idea of what you’re planning to teach; your glossary will tell me more. In that spirit, here’s the glossary for the upcoming Python version of Software Design by Example. (The glossary for the JavaScript version is also online.)

absolute error abstract class abstract method
abstract syntax tree (AST) accidental complexity actual result (of test)
affordance alias ANSI character encoding
Application Binary Interface (ABI) Application Programming Interface (API) argument
ASCII character encoding assembler assembly code
assertion associative array atomic operation
atomic value attribute automatic variable
backward-compatible base class batch processing
benchmark big endian binary mode
bit mask bit shifting bitwise operation
body (of HTTP request or response) Boolean boxed value
breakpoint build manager build recipe
build rule bytecode cache
call stack catch (an exception) Chain of Responsibility pattern
child (in a tree) child class class
class method clear a breakpoint client
code point cognitive load collision (in hashing)
column-wise storage comma-separated values (CSV) compile
compiled language compiler concrete class
conditional breakpoint conditional jump confirmation bias
constructor context manager control code
control flow Coordinated Universal Time (UTC) cryptographic hash function
data engineer data migration dataframe
decorator defensive programming dependency (in build)
derived class design by contract design pattern
dictionary dictionary comprehension directed acyclic graph (DAG)
directed graph disassemble disassembler
dispatch docstring Document Object Model (DOM)
Domain Name System (DNS) dry run duck typing
dynamic dispatch dynamic scoping eager evaluation
eager matching easy mode edge
element enumeration environment
error (result of test) error handling escape sequence
exception exception handler exclusive or
expected result (of test) exponent extensibility
failure (result of test) false negative false positive
falsy field finite state machine (FSM)
fixture garbage collection generator function
generic function graph (data structure) greedy algorithm
hash code hash function hash table
header (of HTTP request or response) helper class heterogeneous
hexadecimal homogeneous hostname
HTTP method HTTP protocol version HTTP request
HTTP response HTTP status code HyperText Markup Language (HTML)
HypterText Transfer Protocol (HTTP) immutable index (a database)
instance instruction pointer instruction set
Internet Protocol (IP) interpreted language interpreter
intrinsic complexity introspection IP address (IP)
ISO date format Iterator pattern JavaScript Object Notation (JSON)
join (tables) key label (address in memory)
layout engine lazy evaluation lazy matching
lexical scoping library link (a program)
linter Liskov Substitution Principle list
list comprehension literal little endian
manifest mantissa Markdown
markup language metadata method
method injection minimum testable class mixin
mock object module multiple inheritance
named tuple node object
object-oriented programming (OOP) off-by-one error online analytical processing (OLAP)
online transaction processing (OLTP) op code Open-Closed Principle
overlay configuration package parameter
parameter sweeping parent (in a tree) parent class
parser pass (result of test) path resolution
pattern rule (in build) persistence phony target
pipe (in the Unix shell) placeholder file polymorphism
port post-condition pre-condition
precedence prerequisite protocol
provenance Pythonic query parameter
race condition raise (an exception) record
recursion refactor reflection
register regression regular expression
relational database relative error reverse lookup
root (in a tree) row-wise storage runtime
schema scope server
SHA-256 hash code sign and magnitude signature
singleton Singleton pattern socket
spread SQL stack frame
stale (in build) standard error standard input
standard output static method static site generator
streaming API string table
target (in build) Template Method pattern test fidelity
text mode throw exception time of check - time of use
timestamp token topological order
Transmission Control Protocol (TCP/IP) tree truthy
tuple Turing Machine two hard problems in computer science
two's complement Unicode unit test
Universal Resource Locator (URL) unparsing upcall
UTF-32 UTF-8 variable-length encoding
vector version control system virtual machine
Visitor pattern watchpoint well-formed
word (of memory) XML Yet Another Markup Language (YAML)
z-buffering