Unit testing. You've heard the term. Probably a lot.
You know you should probably figure out how it works, since everyone's always talking about it and a lot of companies require developers to know it.
But you don't really know it and you're worried that you'll look uninformed if you cop to not knowing it.
Well, relax. This book assumes you have absolutely no idea how it works and walks you through the practice from the very beginning.
You'll learn the basics, but more importantly, you'll learn the business value, the path to walk not to get frustrated, what's testable and what isn't, and, and everything else that a practical unit testing newbie could possibly want to know.
Erik Dietrich is the founder and principal of DaedTech LLC. He has a BS Degree in Computer Science from Carnegie Mellon University and a MS degree in the same from University of Illinois at Urbana- Champaign. Currently a systems architect with over ten years of experience in software architecture, design, implementation, and stabilizing/sustaining, Erik has a wide range of personal interests in addition to this area of expertise. These include home automation and home improvement, conceptual mathematics, literature, philosophy, and the sciences.
Developer Hegemony explores the past, present, and future of the corporation and what it means for developers. While it outlines problems with the modern corporate structure, it’s ultimately a play-by-play of how to leave the corporate carnival and control your own destiny. And it’s an emboldening, specific vision of what software development looks like in the world of developer hegemony—one where developers band together into partner firms of “efficiencers,” finally able to command the pay, respect, and freedom that’s earned by solving problems no one else can.
Developers, if you grow tired of being treated like geeks who can only be trusted to take orders and churn out code, consider this your call to arms. Bring about the autonomous future that’s rightfully yours. It’s time for developer hegemony.
In The Expert Beginner, Dietrich traces the path of this
programmer from rise to inevitable downfall. The author describes the
development of the expert beginner’s mindset, explaining how one might believe
in the achievement of total mastery while faced with evidence to the contrary.
He then shows how, if put in a position of power, this person will poison
entire software groups and create a culture of stagnation. Part commentary on
technical groups and part sociological analysis/office taxonomy, The Expert
Beginner tells a story. This story, as it turns out, is about more than
just an individual programmer or software groups. It is about a tragedy writ
large, coloring all aspects of our culture even beyond the world of computer
By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them.
Martin’s Clean Architecture doesn’t merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As you’ve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges you’ll face–the ones that will make or break your projects.Learn what software architects need to achieve–and core disciplines and practices for achieving it Master essential software design principles for addressing function, component separation, and data management See how programming paradigms impose discipline by restricting what developers can do Understand what’s critically important and what’s merely a “detail” Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications Define appropriate boundaries and layers, and organize components and services See why designs and architectures go wrong, and how to prevent (or fix) these failures
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager–and for every programmer who must execute someone else’s designs.
Register your product for convenient access to downloads, updates, and/or corrections as they become available.
In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what’s right about that code and what’s wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft.
In The Clean Coder, 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 of this collection will come away understandingHow to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development 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