|< Day Day Up >|| |
This books contains 15 chapters, covering a set of skills that I think are essential for any serious developer. I’ve tried to organize them into a sensible order that follows roughly the tasks that you’ll need to complete to ship a successful software product. Feel free to jump around or to dip in if you need a quick course on a particular topic; each chapter can stand alone for the most part.
The first two chapters are about some essential planning tasks that any project should start with. Chapter 1, “Planning Your Project,” covers managing requirements, choosing a methodology, and using project-tracking tools. Chapter 2, “Organizing Your Project,” concentrates on overall architecture and delivery schedules.
The next three chapters cover some necessary coding skills that you might have missed along the way. Chapter 3, “Using Source Code Control Effectively,” shows you how and why to use this most necessary of development tools. Chapter 4, “Coding Defensively,” tackles assertions, exceptions, and how to write useful comments. Chapter 5, “Preventing Bugs with Unit Testing,” is an introduction to unit testing, test-driven development, and refactoring—all key skills when you’re trying to turn out high-quality code quickly.
Tools occupy the next three chapters. Chapter 6, “Pumping Up the IDE,” focuses on the numerous tools available to help you make Visual Studio .NET a productive development environment. This chapter also gives you a crash course in customizing the IDE to be more useful to you. Chapter 7, “Digging Into Source Code,” turns the focus in the other direction, showing you how to use a variety of tools to investigate other code, and discusses sources for high-quality reusable code. Chapter 8, “Generating Code,” is a first look at code generation, a current hot topic in development circles.
Chapters 9 and 10 discuss the tasks that go along with sending the first few test releases out into the world. Chapter 9, “Tracking and Squashing Bugs,” discusses effective bug management, quality assurance, and the importance of a good bug-tracking tool. Chapter 10, “Logging Application Activity,” brings in a variety of tools and techniques for recording useful information as end users bang on your code.
Chapter 11 is titled “Working with Small Teams,” but it features a twist. Rather than focus on people-management skills (which are well covered elsewhere), I’ve tried to give you specific advice on techniques and tools that work for small software development teams. In particular, I discuss what you can do to make a team work even when it’s distributed around the world.
The final four chapters cover some of the tasks that surround any good software but that are often neglected. Chapter 12, “Creating Documentation,” talks about writing useful help files and manuals. Chapter 13, “Mastering the Build Process,” will help you turn the complex dance of creating software into a unified process. Chapter 14, “Protecting Your Intellectual Property,” shows you how licensing and obfuscation can help you keep your source code safe. And finally, Chapter 15, “Delivering the Application,” looks at the process of creating a setup program for your application.
|< Day Day Up >|| |