Care about the code : adopting the correct approach and attitude to code -- you.write(code). Keeping up appearances : code presentation : layout and naming -- Write less code! : avoiding unnecessary lines of code -- Improve code by removing it : identifying and removing dead code -- The ghost of a codebase past : learning from the code you wrote in the past -- Navigating a route : how to start working with unfamiliar code -- Wallowing in filth : dealing with unpleasant, messy code -- Don't ignore that error! : healthy attitudes for error handling -- Expect the unexpected : writing robust code that considers all possibilities -- Bug hunting : how to find and fix bugs -- Testing times : developer testing : unit, integration, and system tests -- Coping with complexity : designing code well, to avoid unnecessary complexity -- A tale of two systems : the consequences of good and bad design -- Practice makes perfect. Software development is : what is the software stuff? -- Playing by the rules : inventing rules that define your development team -- Keep it simple : striving for simplicity in our software -- Use your brain : programmers are allowed and encouraged to use their brain, don't be stupid! -- Nothing is set in stone : no code is sacred, everything changes -- A case for code reuse : the healthy way to reuse code -- Effective version control : using version control well -- Getting one past the goalpost : working effectively with the QA team -- The curious case of the frozen code : code freeze : what it is, and whether it is necessary -- Please release me : making software releases -- Getting personal. Live to love to learn : how to learn effectively -- Test-driven developers : driving as an analogy to programming : how do we learn and pass the test? -- Relish the challenge : how to find the right challenges to stay motivated and keep your skills sharp -- Avoid stagnation : preventing your programming skills from going stale -- The ethical programmer : ethical issues in the developer's life -- A love for languages : learning many programming languages and loving the ones you use -- Posturing programmers : improving the programmer's health : posture, eye strain, and keeping your spirits up -- Getting things done. Smarter, not harder : working effectively : avoiding unnecessary work and solving the right problems -- It's done when it's done : defining your programming tasks and knowing exactly when you're done -- This time I've got it : avoiding a narrow focus : find the best way to solve a problem -- The people pursuit. People power : how to position yourself alongside excellent programmers, and how to work well in a team -- It's the thought that accounts : accountability : how it improves you and your work -- Speak up! : communication skills for the software developer -- Many-festos : software manifestors : what and why? -- An ode to code : a cautionary tale of software mismanagement
0
Code Craft author Pete Goodliffe presents a collection of useful techniques and approaches to the art and craft of programming