Chapter 20

Constructivist

image

20.1 Constraints

  • Every single function checks the sanity of its arguments and either returns something sensible when the arguments are unreasonable or assigns them reasonable values.
  • All code blocks check for possible errors and escape the block when things go wrong, setting the state to something reasonable, and continuing to execute the rest of the function.

20.2 A Program in this Style

  1 #!/usr/bin/env python
  2 import sys, re, operator, string, inspect
  3
  4 #
  5 # The functions
  6 #
  7 def extract_words(path_to_file):
  8 if type(path_to_file) is not str or not path_to_file:
  9  return []
 10
 11 try:
 12  with open(path_to_file) ...

Get Exercises in Programming Style now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.