Help  |   Contact Us  |   About Us  |   News and Events
Books, conferences, and other information about... Moving to Linux Switching to OOo Building Linux Apps Using Visual FoxPro
Buy      Download      Your Account      Catalog      Support      Conferences      Resources      Fun

So You've Inherited a Visual FoxPro Application. Now What?
Table of Contents




1. Preface
Copyright
Revisions
-- History
-- New version
-- Feedback and corrections
References and acknowledgments
Disclaimer
Prerequisites
2. Acknowledgements
3. About the Author
4. Read This First
There are rules
There are more rules
Downloads 'n other stuff
The Takeaway
5. The Three Phases
The periods of growth of our industry
The phases of a developer's learning curve

Secion 1: Before You Take the Job On
6. Diversity
The dynamics of the situation
Which technical underpinning generates the most trouble?
The road map?
The takeaway
7. Emotional Inheritance
The conversation
Ownership
The takeway
8. One Little Change. How Hard Could It Be?
Finding the original report
Inside the report
The report is done
No, not really
Chapter 2
Chapter 3
You're an idiot
The takeaway
9. Emotional Inheritance: Solved!
The solution
Demographics
The open-ended question
The definitive question
Details
The next step
The reluctant caller
The takeaway
10. Mission: Objectivity
Provide an objective source
Confidence in your opinions
The takeaway

Section 2: Sizing Up The Customer (and letting them size you up)
11. Before the Kiss
Sizing them up
Letting them size you up
The takeaway
12. Quarter Inch Holes
Reasons for the dichotomy
The takeaway
13. Purpose
Fix bugs
Change existing or add functionality
Move the application to a new paradigm
Rewrite!
The takeaway
14. Remorse
15. Surrealism
16. Difficulties
Lack of documentation
Industry standard conventions not used
Inconsistent coding practices
Hidden business logic
Functionality through sheer luck
No test data
17. Lies They Tell You
Our Data Is Good
The Requirements Are Locked Down
The Deadline Is Firm
The Code Is Self-Explanatory
18. No Assumptions
19. One Assumption
20. Clueless
21. Don't Slam
22. The Previous Schmuck
23. Legacy Apps as Cash Cows
24. Beward the Silver Bullet

Section 3: Sizing Up The System
25. Education
26. Analogy
27. May You?
In-house developers
Third-party developers
28. Can you?
How hard could it be?
Source code checklist
Run the application
29. MAIN2.PRG
Build from scratch
Finding unused files
30. Don't Judge the Cover by the Book
31. Ancestor Knowledge
32. Ancestor Developers
Gone
Unavailable
Still a resource
33. Inventory
End-user documentation
Functional specifications
Technical specifications
Version control system
Bug tracking mechanism
Wiki/shared document management
34. Audit the Code
How big?
How well documented?
Consistency
Standards adhered to?
Coding practices
Summing it all up
35. Audit the Data
Empty space
Date spans
Similar field names
Duplicate field names and reserved words
36. Stack The Deck
37. WTF?
Leaving breadcrumbs
38. Attention Span

Section 4: Working With The System: Goals, Scenarios, Strategies, Tactics
39. Goals, Scenarios, Strategies, Tactics
The Scenario
The Strategy
The Tactics
40. Before You Start
41. Back Up
42. Cruft
43. Making Copies....
44. Delicious Fox Wraps
45. Write Once, Forget Often
46. Rental Cars
47. Instal Recall
48. debugo
49. Context is Everything
50. Context, Redux
51. Instrumenting
52. Debugging Scaffold
53. Debugox

Section 5: Smorgasbord
54. Data, Schmata
55. Error Conditions
56. Steinbach's Corollary
57. Spinning Wheels
58. Refactoring
59. Bug Reporting
60. Another beer
Missing properties
Procedure files
Gotcha: duplicate procedures
Hard-coding

Section 6: Conclusion
61. Be Kind
62. Source Code for this Book
63. Where To Go For More Help


* eof