Becoming a Better Programmerseeders: 55
leechers: 2
Becoming a Better Programmer (Size: 23.04 MB)
DescriptionChapter 1Care about the Code you.write(code); Chapter 2Keeping Up Appearances Presentation Is Powerful It’s About Communication Layout Names Making Yourself Presentable Conclusion Chapter 3Write Less Code! Why Should We Care? Flappy Logic Duplication Dead Code Comments Verbosity Bad Design Whitespace So What Do We Do? Conclusion Chapter 4Improve Code by Removing It Code Indulgence It’s Not Bad, It’s Inevitable So What? Waking the Dead Surgical Extraction Conclusion Chapter 5The Ghost of a Codebase Past Presentation The State of the Art Idioms Design Decisions Bugs Conclusion Chapter 6Navigating a Route A Little Help from My Friends Look for Clues Learn by Doing Conclusion Chapter 7Wallowing in Filth Smell the Signs Wading into the Cesspit The Survey Says… Working in the Sandpit Cleaning Up Messes Making Adjustments Bad Code? Bad Programmers? Chapter 8Don’t Ignore That Error! The Mechanism The Madness The Mitigation Conclusion Chapter 9Expect the Unexpected Errors Threading Shutdown The Moral of the Story Chapter 10Bug Hunting An Economic Concern An Ounce of Prevention Bug Hunting Non-Reproducible Bugs Conclusion Chapter 11Testing Times Why Test? Types of Tests When to Write Tests When to Run Tests What to Test Good Tests What Does a Test Look Like? The Structure of Tests No Code Is an Island Conclusion Chapter 12Coping with Complexity Blobs Case Study: Reducing Blob Complexity Lines And Finally: People Conclusion Chapter 13A Tale of Two Systems The Messy Metropolis Design Town So What? Practice Makes Perfect Chapter 14Software Development Is… This Software (Food)stuff Software Development Is…an Art Software Development Is…a Science Software Development Is…a Sport Software Development Is…Child’s Play Software Development Is…a Chore Metaphor Overload Chapter 15Playing by the Rules We Need More Rules! Set the Rules Chapter 16Keep It Simple Simple Designs Simple Lines of Code Keeping It Simple, Not Stupid Assumptions Can Reduce Simplicity Avoid Premature Optimisation Sufficiently Simple A Simple Conclusion Chapter 17Use Your Brain Don’t Be Stupid Avoid Mindlessness You Are Allowed to Think! Chapter 18Nothing Is Set in Stone Fearless Change Change Your Attitude Make the Change Plus ça Change Chapter 19A Case for Code Reuse Reuse Case 1: The Copy-Pasta Reuse Case 2: Design for Reuse Reuse Case 3: Promote and Refactor Reuse Case 4: Buy In, or Reinvent the Wheel Chapter 20Effective Version Control Use It or Lose It Pick One, Any One Storing the Right Things Use Version Control Well Branches: Seeing the Wood for the Trees The Home for Your Code Conclusion Chapter 21Getting One Past the Goalpost Software Development: Shovelling Manure A False Dichotomy Fix the Team to Fix the Code Releasing a Build to QA On Getting a Fault Report Our Differences Make Us Stronger Pieces of the Puzzle Chapter 22The Curious Case of the Frozen Code Hunting the Code Freeze A New World Order Forms of Freeze Branches Make It Work But It’s Not Really Frozen! Length of the Freeze Feel the Freeze The End Draws Near Antifreeze Conclusion Chapter 23Please Release Me Part of the Process A Cog in the Machine Release Early and Often And There’s More… Getting Personal Chapter 24Live to Love to Learn What to Learn? Learning to Learn Learning Models Teach to Learn Act to Learn What Have We Learnt? Chapter 25Test-Driven Developers Driving the Point Home Success Breeds Complacency Testing Times Test-Driven Developers Conclusion Chapter 26Relish the Challenge It’s the Motivation What’s the Challenge? Don’t Do It! Get Challenged Conclusion Chapter 27Avoid Stagnation Your Skills Are Your Investment An Exercise for the Reader Job Security Chapter 28The Ethical Programmer Attitude to Code Legal Issues Attitude to People The Hippocodic Oath Conclusion Chapter 29A Love for Languages Love All Languages Love Your Language Cultivating Your Language Relationship A Perfect Metaphor? Conclusion Chapter 30Posturing Programmers Basic Computer Posture Eye Strain Conclusion Getting Things Done Chapter 31Smarter, Not Harder Pick Your Battles Battle Tactics Conclusion Chapter 32It’s Done When It’s Done Are We There Yet? Developing Backwards: Decomposition Define “Done” Just Do It Chapter 33This Time I’ve Got It… Desert Island Development Stood at the Bottom of the Mountain The People Pursuit Chapter 34People Power What to Do Know Your Experts 20/20 Hindsight Chapter 35It’s the Thought That Accounts Stretching the Metaphor Accountability Counts Code++ Making It Work Setting the Standard The Next Steps Conclusion Chapter 36Speak Up! Code Is Communication Interpersonal Communication Talking of Teams Talking to the Customer Other Communication Conclusion Chapter 37Many-festos A Generic Manifesto for Software Development OK, OK The Manyfestos But, Really? The Punchline Chapter 38An Ode to Code Coding Is a People Problem Sharing Widget |
All Comments