Chapter 18

Aspects

image

18.1 Constraints

  • The problem is decomposed using some form of abstraction (procedures, functions, objects, etc.).
  • Aspects of the problem are added to the main program without any edits to the source code of the abstractions or the sites that use them.
  • An external binding mechanism binds the abstractions with the aspects.

18.2 A Program in this Style

  1 #!/usr/bin/env python
  2 import sys, re, operator, string, time
  3
  4 #
  5 # The functions
  6 #
  7 def extract_words(path_to_file):
  8 with open(path_to_file) as f:
  9  str_data = f.read()
 10 pattern = re.compile('[\W_]+')
 11 word_list = pattern.sub(' ', str_data).lower().split()

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.