Skip to Main Content
Prefactoring
book

Prefactoring

by Ken Pugh
September 2005
Intermediate to advanced content levelIntermediate to advanced
240 pages
6h 28m
English
O'Reilly Media, Inc.
Content preview from Prefactoring

12.1. Fancy Reports

Sam looked at the first version of the rental contract. "Well, it looks pretty plain to me," he stated.

"OK," I replied. "What else would you like on it?"

"How about a few graphics and making the due date stand out in bold with a larger font?" he queried. "Is that too much trouble?"

"No trouble at all," I answered. "What's the charge limit on your American Express?"

"I don't have a limit," Sam replied.

"Good, then there should be enough money to do it," I stated.

12.1.1. More Is Less

Handling graphics and different fonts, and laying out pages containing them, is a time-consuming process using procedural-driven code. We need to calculate the sizes of strings and compute where to position them. Fortunately, languages and modules are available that provide these necessary operations. These components contain a lot more than we need, but they make a lot less work for us ("More Is Sometimes Less").

One language that does the trick is the Hypertext Markup Language (HTML). The display modules are browsers and HTML-aware edit widgets. The create_report( ) method can create HTML-formatted text. We can display that text using an HTML-aware display module. We change our DisplayReport class to include a method for displaying an HTML report:

    class DisplayReport
        void display_report_plain_text_format(
            ReportPlainTextFormat report_plain_text_format)
        void display_report_html_format(
            ReportHTMLFormat report_html_format)

ReportHTMLFormat contains HTMLString. HTMLString consists ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Understanding Unittest.Mock

Understanding Unittest.Mock

Mario Corchero
Java™ Performance

Java™ Performance

Charlie Hunt, Binu John

Publisher Resources

ISBN: 0596008740Supplemental ContentCatalog PageErrata