Map
Index
Random
Help
th

QuoteRef: huntA_2000

topics > all references > ThesaHelp: references g-h



ThesaHelp:
references g-h
Topic:
defensive programming
Group:
software maintenance
Topic:
design for change
Topic:
restricted use of global variables
Topic:
object-oriented objects
Topic:
management of large software projects
Topic:
editor as the UserInterface
Topic:
initialization of data
Topic:
global declarations and variables
Topic:
declarative vs. procedural representation
Topic:
abstraction in programming language
Topic:
type reflection and introspection
Topic:
text editing
Topic:
programming environment
Topic:
debugging techniques
Topic:
World-Wide Web
Topic:
hypertext browser
Group:
testing
Topic:
step-by-step dialog
Topic:
application generator
Group:
requirement specification
Topic:
good requirement specifications
Topic:
user-centered design
Topic:
importance of information hiding for requirement specification
Topic:
limitations of formalism
Topic:
system builds
Topic:
scripting language
Topic:
automation
Topic:
incremental testing
Topic:
test scripts

Reference

Hunt, A., Thomas, D., The Pragmatic Programmer, Reading, Massachusetts, Addison Wesley Longman, Inc., 2000. Google

Quotations
5 ;;Quote: don't live with broken windows; fix bad decisions and poor code; isolate if not enough time
26 ;;Quote: DRY--don't repeat yourself; every piece of knowledge must have a single representation in a system; knowledge changes too fast to keep multiple copies consistent
40 ;;Quote: avoid global data; if code references global data, it is tied to all users of that data
40+;;Quote: instead of global data, use objects to pass context; typically as parameters to the object's constructors
49 ;;Quote: quickly develop a framework for the final system; provides an integration platform, a structure to expand, something to demonstrate, and better work estimates
82 ;;Quote: use a single editor; otherwise, UI differences will make you stop and think about text manipulation
140 ;;Quote: law of Demeter--an object only calls itself, its parameters, or objects it creates; needs a large number of wrapper methods for forwarding requests
144 ;;Quote: use metadata to configure an application at runtime; e.g., tuning, preferences, installed directory
145 ;;Quote: put details in the metadata, abstractions into code; think declaratively for ease of change at the last moment
186 ;;Quote: refactoring is redesign of existing code; fix now instead of later; started with Smalltalk
187 ;;Quote: a refactoring browser can split up long routines, rename methods and variables, move code with drag and drop; e.g., Brant
196 ;;Quote: use a built-in web server for system status, logs, and debugging
196 ;;Quote: all software gets tested, either by you or your users; better to test now
199 ;;Quote: avoid code-generating wizards that you do not understand; your code and wizard's code are intermingled
202 ;;Quote: dig for requirements; they are buried under assumptions, misconceptions, and politics
208 ;;Quote: good requirements are simple, abstract needs
208 ;;Quote: Y2K happened because data processing implemented existing practices w/o date abstractions
220 ;;Quote: formal requirements are often meaningless to end users; everything is based on the designer's explanations, just as before; specialized, isolated participants
220+;;Quote: formal methods use static data models and event/activity-charting; poorly suited for dynamic systems
231 ;;Quote: avoid manual procedures; use scripts for repeatable command sequences; under source control
237 ;;Quote: code a little, test a little; test early, often, and automatically; bugs easier to fix
247 ;;Quote: write automated tests for every manually identified bug; the same problem will arise again


Related Topics up

ThesaHelp: references g-h (299 items)
Topic: defensive programming (22 items)
Group: software maintenance   (14 topics, 368 quotes)
Topic: design for change (76 items)
Topic: restricted use of global variables (22 items)
Topic: object-oriented objects (39 items)
Topic: management of large software projects (63 items)
Topic: editor as the UserInterface (10 items)
Topic: initialization of data (45 items)
Topic: global declarations and variables (33 items)
Topic: declarative vs. procedural representation (54 items)
Topic: abstraction in programming language (47 items)
Topic: type reflection and introspection (28 items)
Topic: text editing (34 items)
Topic: programming environment (46 items)
Topic: debugging techniques (23 items)
Topic: World-Wide Web (42 items)
Topic: hypertext browser (23 items)
Group: testing   (18 topics, 557 quotes)
Topic: step-by-step dialog (3 items)
Topic: application generator (21 items)
Group: requirement specification   (11 topics, 307 quotes)
Topic: good requirement specifications (36 items)
Topic: user-centered design (65 items)
Topic: importance of information hiding for requirement specification (23 items)
Topic: limitations of formalism (93 items)
Topic: system builds (43 items)
Topic: scripting language (27 items)
Topic: automation (15 items)
Topic: incremental testing (26 items)
Topic: test scripts (13 items)

Collected barberCB 10/01
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.