Mar 31 2009

Guest review of Solid Code on MS Press Blog today…

Published by John under MS Press, Reviews, microsoft, solid code, writing

The folks at MS Press posted a great review today of Solid Code by Darren Neimke from Adelaide. The complete post can be found here, but I clipped one or two of the quotes I found particularly well articulated.

First, a comment about software quality…

Producing quality software requires a broader understanding; it’s about understanding what makes up quality processes, team development, stakeholder engagement, leadership, good management, and of course code quality. And at the environmental level, it’s about balancing the effect that each of these have on the development process. It requires a broader view. I believe that Solid Code is the type of book that I had envisaged for this purpose.

Next, something about the “soul” of the book…

This book is extremely pragmatic and approaches its topic from a cultural angle that is needed to have a true impact on the mental models and assumptions of those who wish to drive the engineering process and to develop better teams around them.

Reading this was a validation that we have achieved our core goal for the book (at least in one reader’s mind). When we set about to do this project, I recall chatting with Donis about the importance of bringing the influences and experiences in our careers to the material. We wanted this book to speak to the readers the way people, experiences,  and material have spoken to us over the years… it’s great to see we connected with Darren and appreciate his perspective on this. Thanks Darren!

No responses yet

Feb 16 2009

Announcing Windows Marketplace for Mobile…

Published by John under Windows Mobile, Work, microsoft

It was a pretty exciting day today in the Windows Mobile world. We announced a number of great new offerings at Mobile World Congress in Barcelona, and one of which is something I have been working on for a while now. That’s right, I do have a day job in this business… and a rather cool one at that. So, if you are interested in what is going on in the world of Windows Mobile (and especially on my team), check out this blog entry I posted to the Windows Mobile Team blog today. Stay tuned….

No responses yet

Feb 09 2009

Solid Code Chapter Listing

Published by John under microsoft, solid code, writing

I was recently asked about providing some additional detail about the subject matter included within Solid Code. With the street availability just around the corner, I thought this was a great request (Thanks Simon!). So, for folks who are thinking about picking up the book, but want to know more about what’s in it, here is the chapter listing.

  1. Code Quality in an Agile World
  2. Class Design and Prototyping
  3. Metaprogramming
  4. Performance Is A Feature
  5. Designing for Scale
  6. Security Design and Implementation
  7. Memory Management
  8. Defensive Programming
  9. Debugging
  10. Code Analysis
  11. Improving Engineering Processes
  12. Attitude is Everything

 

As you can see, this chapter listing covers a broad array of subject matter. As I have mentioned before, I think there is something valuable for everyone in this book. However, for those of you still on the fence about picking up a copy, I believe the good people at MS Press will be posting sample chapters soon at their web site. I also welcome comments and questions about the chapters or the book in general. Thanks!

No responses yet

Jan 31 2009

Solid Code goes to print – gets a subtitle

Published by John under microsoft, solid code, writing

image Well, after nearly a year, Solid Code went to print this week. During the final editing process, we decided that it should also get a subtitle to accurately describe the book’s intent. So, the final title will be: Solid Code – Optimizing the Software Development Life Cycle. It should find its way onto store shelves by the end of February, or the beginning of March. Just look for the book spine that resembles the image on the left. :-)

It’s safe to say that both Donis and I are very satisfied with the way it turned out. There is a ton of information in this book, and much of it is complemented by real world examples and case studies of software development best practices from within Microsoft. Hopefully, readers will enjoy it as much as both of us have enjoyed writing it. Now that it is bound for store shelves, expect to start seeing the occasional blog entry that discusses the philosophy behind specific chapters.

One response so far

Dec 28 2008

More on Solid Code…

Published by John under microsoft, solid code, writing

As Solid Code gets closer to publication, we have started to pull together the surrounding portions of the book. This includes sections like the introduction, forward, and acknowledgements to name a few. As an avid technical book reader, I have been guilty of not always reading these sections, but in reality there is good information to be gained from them. For grins, I thought I would write a post that includes a few excerpts from these sections.

For starters, we explain who this book is targeted toward…

Solid Code has something for every participant in the software development life cycle. More specifically, it is targeted toward application developers who are seeking best practices or advice for building higher quality software. There are portions of this book that illustrate the important role of engineering process as it relates to writing high quality code. There are other parts that focus on the criticality of testing. However, most of this book focuses on improving code quality during design and implementation, covering specific topics like class prototyping, performance, security, memory, and debugging.

This book targets both professional and casual developers. Readers should have a basic understanding of programming concepts and object oriented programming in C#. There are no skill level expectations. Solid Code is about the practical application of best practices for managed code application development. The topics discussed within the book should resonate with managed code developers of all skill levels.

Later, we discuss how the book is organized for the reader…

Solid Code is organized similarly to that of the application development life cycle. The chapters are not separated into parts, but rather grouped according to four key principles. These principles are outlined in Chapter 1, “Code Quality in an Agile World”, and include: Focus on Design, Defend and Debug, Analyze and Test, and Improve Processes and Attitudes.

Focus on Design  One of the great themes of this book is the importance of thoughtful design as a means to improve overall product quality. To support this theme, practices such as class design and prototyping, metaprogramming, performance, scalability, and security are explored.

Defend and Debug Although great designs are critical to building a high quality software application, it is equally important to understand the pitfalls that hinder delivery of bug-free code. Topics such as memory management, defensive programming techniques, and debugging are all discussed in the context of this principle.

Analyze and Test Even the greatest programmers produce bugs despite following the recommended best practices. Therefore, it is important to discuss code analysis and

testing as methods for further improving code quality.

Improve Processes and Attitudes Beyond best practices, engineering processes and culture can have a great impact on the quality of the work being produced. We explore several key topics for improving the efficiency of the team as well as their passion for quality.

These excerpts from the book’s introduction should provide the reader with a good idea of what to expect from the book. Admittedly, it’s difficult to decide whether a book will be good or not until you really get deep into it. Hopefully, this introduction, coupled with numerous validations from readers and technical reviewers, and a powerful forward from John Robbins of Wintellect, will convince most readers that Solid Code is worth picking up. Of course, I recommend that every .NET developer have a copy. :-)

 

No responses yet

Nov 23 2008

Introducing Solid Code

Published by John under microsoft, solid code, writing

9780735625921x

In February 2009, Microsoft Press will release Solid Code under the “Best Practices” series of books. This book has been the year long effort of myself and my friend and colleague, Donis Marshall. The project has been a great experience, and we believe this will be a great addition to any information technology professional’s library.

The book explores best practices for achieving greater code quality from nearly every facet of software development. Beginning with chapter 1, titled: “Code Quality in an Agile World”, we discuss how higher quality can be achieved in fast-paced, agile software development teams. The book then moves on to discuss topics like Class Design and Prototyping, Metaprogramming, Web Performance, Designing for Scale, Common Programming Pitfalls, and Debugging to name a few. The value of the material is further compounded by real world case studies from various engineering teams within Microsoft such as the Windows Live Hotmail and Live Search teams. Here is the official description from Microsoft’s web site:

With insights direct from Microsoft’s own development teams—and across the software-development life cycle—learn best practices for writing solid, well-formed, efficient code. Ideal for new to intermediate level developers, but with fresh insights for more experienced programmers, SOLID CODE will help improve your coding techniques at each phase of product development: design, prototyping, implementation, debugging, and testing. This book shares practical, experience-based advice from veteran engineers and developers that you can apply to your own work now, whether using agile or waterfall methods.

I am really excited for the release of this book in February. I hope to post excerpts from the book over the coming weeks so people can begin to see some of the value this book will provide. The book can be pre-ordered from the following web sites.

- Bookpool

- Amazon.com

- Lovereading.com (UK)

- Windows Vista Magazine (UK)

I will post more links to the pre-order sites as they become available. Feel free to contact me if you have any questions.

For more information about this book, check out Microsoft’s web site.

2 responses so far