Published by Pearson (May 13, 2011) © 2011

Robert Martin
    VitalSource eTextbook (Lifetime access)
    €20,99
    Adding to cart… The item has been added
    ISBN-13: 9780132542883

    Clean Coder, The: A Code of Conduct for Professional Programmers ,1st edition

    Language: English

    Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.

     

    In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice–about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.

     

    Readers will learn

    • What it means to behave as a true software craftsman
    • How to deal with conflict, tight schedules, and unreasonable managers
    • How to get into the flow of coding, and get past writer’s block
    • How to handle unrelenting pressure and avoid burnout
    • How to combine enduring attitudes with new development paradigms
    • How to manage your time, and avoid blind alleys, marshes, bogs, and swamps
    • How to foster environments where programmers and teams can thrive
    • When to say “No”–and how to say it
    • When to say “Yes”–and what yes really means

     

    Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn’t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them–and earn the pride and fulfillment that they alone possess.

    Foreword         xiii

    Preface         xix

    Acknowledgments         xxiii

    About the Author         xxix

    On the Cover         xxxi

     

    Pre-Requisite Introduction          1

     

    Chapter 1: Professionalism          7

    Be Careful What You Ask For    8

    Taking Responsibility    8

    First, Do No Harm    11

    Work Ethic    16

    Bibliography    22

     

    Chapter 2: Saying No          23

    Adversarial Roles    26

    High Stakes    29

    Being a “Team Player”    30

    The Cost of Saying Yes    36

    Code Impossible    41

     

    Chapter 3: Saying Yes         45

    A Language of Commitment    47

    Learning How to Say “Yes”    52

    Conclusion    56

     

    Chapter 4: Coding          57

    Preparedness    58

    The Flow Zone    62

    Writer’s Block    64

    Debugging    66

    Pacing Yourself    69

    Being Late    71

    Help    73

    Bibliography    76

     

    Chapter 5: Test Driven Development         77

    The Jury Is In    79

    The Three Laws of TDD    79

    What TDD Is Not    83

    Bibliography    84

     

    Chapter 6: Practicing         85

    Some Background on Practicing    86

    The Coding Dojo    89

    Broadening Your Experience    93

    Conclusion    94

    Bibliography    94

     

    Chapter 7: Acceptance Testing         95

    Communicating Requirements    95

    Acceptance Tests    100

    Conclusion    111

     

    Chapter 8: Testing Strategies         113

    QA Should Find Nothing    114

    The Test Automation Pyramid    115

    Conclusion    119

    Bibliography    119

     

    Chapter 9: Time Management         121

    Meetings    122

    Focus-Manna    127

    Time Boxing and Tomatoes    130

    Avoidance    131

    Blind Alleys    131

    Marshes, Bogs, Swamps, and Other Messes    132

    Conclusion    133

     

    Chapter 10: Estimation         135

    What Is an Estimate?    138

    PERT    141

    Estimating Tasks    144

    The Law of Large Numbers    147

    Conclusion    147

    Bibliography    148

     

    Chapter 11: Pressure          149

    Avoiding Pressure    151

    Handling Pressure    153

    Conclusion    155

     

    Chapter 12: Collaboration         157

    Programmers versus People    159

    Cerebellums    164

    Conclusion    166

     

    Chapter 13: Teams and Projects         167

    Does It Blend?    168

    Conclusion    171

    Bibliography    171

     

    Chapter 14: Mentoring, Apprenticeship, and Craftsmanship          173

    Degrees of Failure    174

    Mentoring    174

    Apprenticeship    180

    Craftsmanship    184

    Conclusion    185

     

    Appendix A: Tooling          187

    Tools    189

    Source Code Control    189

    IDE/Editor    194

    Issue Tracking    196

    Continuous Build    197

    Unit Testing Tools    198

    Component Testing Tools    199

    Integration Testing Tools    200

    UML/MDA    201

    Conclusion    204

     

    Index         205