The Thread 6 Hard-Coding Information That Will Change in the Future 6
Failing to Clean Up Temporary Code 7 Making Comments
Impossible to Ignore 8 Overloading the Value of an Identifier
9 Overloading the Mind of the Writer or the Reader 10
Creating Cryptic or Cute Variable Names 11 Using One Argument
to Change the Meaning of Another 11 Naming with Too Much (or
Too Little) English 12 Casting Types: Smart or Stupid? 13
Building Monolithic Code 14 Disregarding the Difficulty
of Maintenance 16 Lessons 18
2 Tricks
That Destroy Portability 19
The Thread 20
Embedding Machine Dependencies in What Looks Like Portable Code 20
Depending on the Permanence of Message Texts 21 Inventing
Your Own Programming Language 22 Depending on Internal Compiler
Details 23 Using Half-Significant Things That Could Become Significant
24 Arbitrarily Limiting a Tool's Capacity 27
Optimizing for Something You've Got Lots Of 27 Ignoring Compiler
Warnings 28 Lacking -- or Ignoring -- Information from the Compiler
29 Depending on the Compiler to Be Consistent Across Environments
31 Not Imposing Controls Over the Installation Process 32
Lessons 33
3 Stupid
Design Tricks 34
The Thread 35
Failing to Design Your Program Before You Code It 35 Failing
to Consider at Least Three Design Alternatives 37 Making it
Overly Complex 37 Designing Without Thinking 39
Missing the Key Driver of Risk 41 Being Penny-Wise and Pound-Foolish
on Moral Grounds 41 Failing to Think in Terms of Trade-Offs
42 Binding Too Early or Too Late 43 Writing
a Program When No Program Is Needed 45 Lessons 47
4 Stupid
Design Document Tricks 48
The Thread 49
Leaving No Design Artifacts and No Garbage 49 Mistaking
Documents for Documentation 51 Coding from the Wrong Type of
Document 52 Mistaking Documents for the Design 53
Failing to Design Your Documents 54 Simple for the Programmer;
Incomprehensible to the User 55 Thinking "I'll Be Gone
By Then" 57 Lessons 60
5 Tricks
Arising From Social Inadequacy 61
The Thread 62
Career Development Through Co-Dependencey 62 Using Technical
Tricks to Avoid Social Situations 62 Not Documenting Your Assumptions
63 Not Asking for Help 64 Preventing Others
from Learning, by Being Impatient 65 Failing to Notice Your
Fault Feedback Ratio and to Do Something About It 66 Not Documenting
Why Choices Were Made 66 Lack of Feedback Doesn't Necessarily
Mean the Code Was Good 67 Let Your Tools Do Their Work 68
Keeping in the Stuff That's Corrected by Other Stuff 69
Replacing One Big Mess with an Unending Series of Small Messes 71
Give a Fresh Start When Needed 73 Failing to Use Your Own
Product 73 Lessons 75
6 Experts
and Gurus as Leaders 76
The Thread 77
"Guru" As a Degrading Term 77 Not Labeling, but
Hypothesizing 79 Be an Expert Who Can Teach Expertness 79
Be Recognized by Other Gurus as a Guru 80 Transcend
the Realities Others Live In 81 Know the Difference Between
the Map and the Territory 82 Be Content to Be Content 84
Be Accessible and Humble 84 Be Emotional 85
Lessons 87
7 The
Leader as Learner 88
The Thread 89
Learn at a High Level 89 Be Both Inventive and Traditional
90 Immerse Yourself in a Virtuous Learning Cycle 90
Have Personal Experience 91 Be Self-Aware 92
Be Able to Communicate Your Expertise 93 Be a Guide to Spiritual
Enlightenment 94 Do Not Need to Be Omnipotent 95
Remember That There Are Some Things Even a Guru Can't Do 95
Lessons 96
8 The
Expert as Teacher 97
The Thread 98
Provide More Choices 98 Provide Distinctions 98
Let Them Experience Their Own Experience 99 Provide a Discovery
Trail 100 Don't Confuse Beginners 101 Be Up-Front
with Oversimplification 103 Select Students 103
Engage Each Learner 105 Connect with the Learners Where They
Are 106 Teach on a "Pay as You Go" Plan 108
Provide the Questions, Not the Answers 110 Have a
Sense of Timing 112 Help People Discover What They Already Know
114 Lessons 115
9 The
Courage to Teach in Any Direction 116
The Thread
117 Give Your Boss Some Credit 117 Balance
Self-Worth and Safety 119 Luck Is Always a Factor (Especially
If You Help) 120 Don't Confuse Courageous with Dumb 121
Is What You're Getting Worth What You're Paying? 123
Plant a Seed; Cultivate; Be Patient 124 See Them As Human
Beings 126 Lessons 127
10 The
Courage To Be Yourself 128
The Thread 129
Don't Try to Be a Generation Younger 130 Dress to
Make Both of You Comfortable 132 By and Large, They'll Have
to Resolve Their Own Chaos 132 If It's Not a Good Fit, Don't
Do It 133 Adapt in Order to Communicate 135
Is It the Hair, or Is It the Arrogance? 135 Who You Are Is More
Important Than What You Wear 136 Lessons 137
To order this book by credit
card directly from Dorset House in New York, please call (800) 342-6657
or (212) 620-4053, weekdays, 9am to 6pm. Alternatively, print out our Faxable
Order Form and fax to (212) 727-1044.
To order
this book from an online bookstore, please see above.
To
purchase at a bookstore, contact our Recommended
Booksellers to verify availability.
Any store can order from Dorset House using the book's title and ISBN number.
Also, bookstores can order our books through Baker & Taylor.
We'd
like to make it easy for you to order, so please contact
us at any time for help!
DORSET HOUSE PUBLISHING CO., INC. New: 3143 Broadway, Suite 2B New
York, New York 10027 USA 1-800-DH-BOOKSor
212-620-4053, fax 212-727-1044