Showing posts with label best practices. Show all posts
Showing posts with label best practices. Show all posts

Code Complete (Microsoft Programming Series) Review

Code Complete (Microsoft Programming Series)
Average Reviews:

(More customer reviews)
Are you looking to buy Code Complete (Microsoft Programming Series)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Code Complete (Microsoft Programming Series). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Code Complete (Microsoft Programming Series) ReviewAbout previous comments: Verbose? Don't think so, every page has some piece of valuable information
For beginners only? Don't think so, but if you are a beginner this is a good place to start. After several years of programming you'll mostly stop thinking about style and follow your habits... so you better have some good habits!
Insistence on using hungarian naming convention? Not at all, did you read this book? The author did talk about this convention but he also gives examples why this is can be bad (and also why it can be good).
This book covers a wide range of material, from variable declaration to software estimation and probably everything concerning software construction.
Also as this book talks a lot about style, the best thing is it is backed up with hard facts not just because of personal preference.
The examples are written in several languages (such as C, Pascal and Basic). One chapter is devoted to object orientation. Although you're heavily into OOP then in no way should you skip over this book as the advices in this book can be applied to every methodology of programming. So this book is in no way out dated.
Each chapter has a 'recommended reading' section so you know where to go for more. This is extremely handy.
I've read this book several times and I just love it. I own every book written by the author. Check them out also - they are very good too.
Summary: This book teaches you how you can write good and self-describing code. I wished every program I've had to read had been written by programmers who read this book and applied that knowledge.
Thanks, ABOCode Complete (Microsoft Programming Series) OverviewHere is a thorough expert look at the intricate process of commercial software development. The text is rich in example code, contains powerful insights on managing technical yet creative people, and examines each milestone in software development in considerable detail. Ideal for professional, self-taught, and student programmers.

Want to learn more information about Code Complete (Microsoft Programming Series)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Professional C++ (Programmer to Programmer) Review

Professional C++ (Programmer to Programmer)
Average Reviews:

(More customer reviews)
Are you looking to buy Professional C++ (Programmer to Programmer)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Professional C++ (Programmer to Programmer). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Professional C++ (Programmer to Programmer) ReviewThis is a very readable and helpful guide to C++ OOP. It is meant to be a programming guide rather than merely covering syntax (as C++ Primer does for example). As it says on the back cover, "You'll learn simple, powerful techniques used by C++ professionals, little-known features that will make your life easier, and reusable coding patterns that will bring your basic C++ skills to the professional level."
Coming into this with extensive C and other programming experience, including some C++ many years ago, this book was ideal for me. I especially appreciated the authors' ability to give a very good foundation for developing well-designed, robust C++ code. I went from a very solid C programmer to developing using a new C++ mentality in a couple of weeks.
The authors are obviously quite experienced and knowledgeable in C++ and OOP, and write in an enjoyable, easy-to-follow manner. They don't just present C++, they discuss every aspect of how to develop great code using C++. They take a very reasonable and competent approach to coding, pointing out pitfalls and providing much guidance together with good explanations of their reasoning. This book doesn't just tell you how you can do something in C++, it explains how to do it well.
Professional C++ is for an intermediate to advanced programmer with either some C++ experience or a good deal of other programming experience. It is not meant to be an exhaustive exposition of C++ (although it does cover all the basics of the language), but it is certainly sufficient to get a developer not only up and coding, but doing so with better style and more competence than many seasoned C++ professionals.
Some of the many topics I found interesting and useful include: code reuse, software engineering methods (including a several page synopsis of extreme programming), exceptions, STL, frameworks, and design patterns. On some important topics that could be books in themselves, enough material is presented here to give the reader a basic understanding of the subject and an awareness of the issues so that the reader can decide whether to pursue the subject further.
Although this book was all I really needed to get up and going, I found a couple other books also quite helpful, in particular "Object Oriented Design Heuristics" by Arthur J. Riel and the new third edition of "Effective C++" by Scott Meyers.
Professional C++ (Programmer to Programmer) Overview
Geared to experienced C++ developers who may not be familiar with the more advanced features of the language, and therefore are not using it to its full capabilities
Teaches programmers how to think in C++-that is, how to design effective solutions that maximize the power of the language
The authors drill down into this notoriously complex language, explaining poorly understood elements of the C++ feature set as well as common pitfalls to avoid
Contains several in-depth case studies with working code that's been tested on Windows, Linux, and Solaris platforms


Want to learn more information about Professional C++ (Programmer to Programmer)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

The Practice of Programming Review

The Practice of Programming
Average Reviews:

(More customer reviews)
Are you looking to buy The Practice of Programming? Here is the right place to find the great deals. we can offer discounts of up to 90% on The Practice of Programming. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

The Practice of Programming ReviewIn computing, the learning curve is doubly steep. Not only do we have to learn very complex operations, but we have to learn them at a pace unrivaled in any other field. Furthermore, the equipment improves at a rate that simply boggles the mind. In this frantic environment, we rarely have time to read our code twice, much less read a book about code. Therefore, when we do read, we must make every minute count. This is one book where your count of wasted minutes would be a very small one.
Some of the tips in this book are obvious in retrospect, yet ones that you probably would not think of. My favorite is the fact that due to the changes in processors, a double precision floating point arithmetic operation can be faster than the equivalent one for integers. In the "old" days, the gospel was that you must avoid floating point operations unless absolutely necessary, to avoid the degradation of performance.
Other tips, such as methods to assure you comment what is necessary, taking a few minutes to learn simple performance features, debugging and testing guidelines; portability issues and basic algorithm analysis should cause you to pause for a moment. Even in our hectic development environments, stopping and analyzing your code is a necessity.
It is difficult to conceive of someone who will not find a tip in here that will justify the cost of the book. Unless of course, you are one of the authors. I listed it as one of the top books of the year in my On Books column that appeared in the September, 1999 issue of _Journal of Object-Oriented Programming_.The Practice of Programming Overview

Want to learn more information about The Practice of Programming?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

The Java Class Libraries: An Annotated Reference (Java Series) (v. 1) Review

The Java Class Libraries: An Annotated Reference (Java Series) (v. 1)
Average Reviews:

(More customer reviews)
Are you looking to buy The Java Class Libraries: An Annotated Reference (Java Series) (v. 1)? Here is the right place to find the great deals. we can offer discounts of up to 90% on The Java Class Libraries: An Annotated Reference (Java Series) (v. 1). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

The Java Class Libraries: An Annotated Reference (Java Series) (v. 1) ReviewThis is a great book, but you want the second edition, which covers up to Java 1.1. Its ISBN is different.The Java Class Libraries: An Annotated Reference (Java Series) (v. 1) OverviewProviding coverage of the Java API and the Window Toolkit and Applet packages, this text features detailed examples that are drawn from the author's experience of programming with the API.

Want to learn more information about The Java Class Libraries: An Annotated Reference (Java Series) (v. 1)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition) Review

Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition)
Average Reviews:

(More customer reviews)
Are you looking to buy Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition) ReviewI found this book almost PERFECT for my needs. Short, concise, and focused on the exam. The sample questions were also very reflective of the exam. If you pass the sample questions, you are probably ready for the exam. With what you learn from the sample questions, content as well as question style, you should actually do a bit better on the exam. That was my experience- about 75% on the book questions, 87% (42/48) on the exam, with no extra study after my initial reading.
And considering the purpose of architect certification is to certify someone with 5+ years experience and deep understanding of design and architectural issues, then a more detailed book would be a thick painful experience. Also, a more detailed book would commit the authors to exposing more of the exam content, and devalue it as a fair measure of an architect. The fact that it requires a wide professional background with some core reading is excellent. If you struggle with the exam, enjoy the honest feedback! You have more reading to do, and experience to gain.
With sufficient experience in Java, UML, design patterns, security, general IT and web knowledge, and basic architectural principles, the book more than suffices. Basic EJB knowledge is sufficient since the book doesn't expect a programmer's knowledge of APIs and such.
If you are new to architecture, my recommendations are similar to another reviewers:
UML Distilled, Martin Fowler
Design Patterns, Gamma et al
Mastering Enterprise Java Beans, Roman, Amber, Jewell
EJB Design Patterns, Floyd Marinescu
And if you don't know enough about design patterns and UML to pass those chapters before even reading the chapters, you may be taking the exam a bit prematurely.
I will agree with one statement- the book lacks chapters on some of the objectives. But, considering that they might be considered fair prerequisites for someone qualified to take the exam, I'm not complaining. Though, in looking over my exam results, most of my wrong answers were from the sections without corresponding chapters...common architectures, legacy connectivity, messaging :(. I think my proclivity for screen-scraping did me in.
All-in-all, a masterful book and exam.Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition) OverviewDefinitive, Comprehensive SCEA Exam Prep–Straight from Sun's Exam Developers!This book delivers complete, focused review for Sun's new Sun Certified Enterprise Architect (SCEA) for Java EE certification exam–straight from two of the exam's creators! SCEA lead developer/assessor Mark Cade and SCEA lead developer/assessor Humphrey Sheil offer powerful insights, real-world architectural case studies, and challenging sample questions that systematically prepare you for the actual exam. For every question, the authors show why the right answers are right–and why the other answers are wrong. Cade and Sheil cover every SCEA exam topic, skill, and technique, including:Understanding system architecture and its goals

Want to learn more information about Sun Certified Enterprise Architect for Java EE Study Guide (2nd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts Review

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts
Average Reviews:

(More customer reviews)
Are you looking to buy 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts? Here is the right place to find the great deals. we can offer discounts of up to 90% on 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts ReviewHeavy on keywords and low on actual content / value.
Imagine your Dad rings you up and says, "Be sure to go to work bright and early..." or "The early bird gets the worm" and proceeds to ramble on for 5 minutes about why that is important. We have all been through this kind of lecture. For politeness sake, you bite your tongue and zone out.
Now replace Dad with Bill Gates/ Steve Jobs/ some famous architect. However the advice being doled out is similar. eg. "Be sure to have a decent UI for every component/ blah blah blah".
How would you feel if you had to read 97 articles by famous architects / tech gurus, each 2 pages long and the entire content of the article is in the first introductory line itself. The rest is fluff.
I don't know about you, but when I am paying 20+ dollars for a book, I expect more than simple fluff.
-V97 Things Every Software Architect Should Know: Collective Wisdom from the Experts Overview
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:



Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
For the End User, the Interface Is the System (Vinayak Hegde)
It's Never Too Early to Think About Performance (Rebecca Parsons)

To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.


Want to learn more information about 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition) Review

Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition)
Average Reviews:

(More customer reviews)
Are you looking to buy Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition) ReviewWe software developers often get ourselves buried in learning new technologies, particularly in J2EE, there are so many things to learn, e.g., JSP, Servlet, JAAS, JSSE, JMS, JavaMail, EJB, JDBC, JDO, etc. just to name a few. With these overwhelming technologies, we often overlook the issue how to "design" "good" systems using these technologies. Knowing the technology itself is one thing, and knowing how to design with it well is another. Technologies are always advancing, it is really the design technique that is the essence or hard-core skill that a software developer should obtain.
Patterns, are such essences. They are best practices from experiences on how to design the systems/components at different levels. And Core J2EE Patterns are such collections in the J2EE context.
Even though the authors claim that these patterns are used under the J2EE context, I see most of them also application in a more general context. For example,
If a remote service is to be provided, it is good practice to use Session Facade (or Remote Facade), and it will provide service by delegating to the Application Service (or Service Layer) or Business Delegate.
To facilitate the client to access a remote service, Business Delegate can be applied to hide the remoteness, in which it will use Service Locator to look up the remote service. In this sense, Business Delegate also functions as a proxy of the remote service.
To decouple the Business Object from accessing the resources directly, Data Access Object is a good design to be applied.
To move the data between the tiers or processes, Data Transfer Object can be use.
If studying carefully, you will a lot of patterns and concepts can be applied to non-J2EE applications. And a lot of them can be traced back to the seminal work of GoF (Design Patterns). That is why I said the design skill should be essential to a developer, these techniques are correlated and inter-connected, and accumulated by experience. They are relatively stable (IMO), though the technologies are changing (rapidly).
The other good things about book, the authors not only document the best practices (patterns) of J2EE applications to learn, they also list a set of bad practices (anti-patterns) to avoid, in between, they provide a bridge, the refactoring, to go from bad to good.
Also, no pattern is an island. All patterns are related, and to form a bigger or higher level of pattern, and these higher level of patterns collaborate with each other and eventually form the whole architecture of the system, that is pattern oriented architecture. In last episode, the authors gave such an example, and they call it a micro architecture.
The authors also refer to the work of Martin Fowler's Patterns of Enterprise Application Architecture(which list patterns of more general enterprise application patterns besides J2EE) to clear out some gaps between the two books, e.g., Value Object in 1st edition really means Transfer Object, which is the same pattern listed as Data Transfer Object in Fowler's book. And Value Object is just another pattern in PEAA.
The writing style is very smooth, succinct and to the point. The pattern template is classic, with the authors chose strategies for implementation variations. The examples are probably excerpt from real projects, however, there are some errors in the code, which made me doubt that these codes were ever compiled. But, hey, it is the concept that is more important :-)Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition) OverviewCompletely updated and revised, this is the second edition of the best-seller Core J2EE Patterns. J2EE has become the platform of choice for Web-centric distributed enterprise application development. Expert consultants from the Sun Java Center have identified powerful J2EE design patterns that lead to applications with superior performance, scalability, and robustness. This book brings those design patterns together, sharing Sun's best practices for development with Java Server Pages (JSP), Servlets, EJB, and other J2EE technologies. It presents a complete catalog of J2EE patterns encapsulating proven and recommended designs for common J2EE-related problems, organized into presentation tier, business tier and integration tier solutions. This second edition introduces new patterns, new refactorings, new patterns for using XML as well as new patterns for J2EE Web services. The authors also identify bad practices to be avoided. Finally, it presents an end-to-end multi-tier case study covering every stage of enterprise development.

Want to learn more information about Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Threads Primer: A Guide to Multithreaded Programming Review

Threads Primer: A Guide to Multithreaded Programming
Average Reviews:

(More customer reviews)
Are you looking to buy Threads Primer: A Guide to Multithreaded Programming? Here is the right place to find the great deals. we can offer discounts of up to 90% on Threads Primer: A Guide to Multithreaded Programming. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Threads Primer: A Guide to Multithreaded Programming ReviewThis was an excellent book with detailed coverage of threads programming even down to how various hardware architectures affect multithreaded program behavior. However there is a more current edition under a different name (Multithreaded Programming with Pthreads) by the same authors that is more current that I would recommend instead (everything in this book is in the newer book).Threads Primer: A Guide to Multithreaded Programming OverviewFor programmers, system architects, and technical programmer managers.Providing an overview of the Solaris and POSIX multithreading architectures, this book explains threads at a level that is completely accessible to programmers and system architects with no previous knowledge of threads. Covers the business and technical benefits of threaded programs, along with discussions of third party software that is threaded, pointing out the benefits.

Want to learn more information about Threads Primer: A Guide to Multithreaded Programming?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity Review

Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity
Average Reviews:

(More customer reviews)
Are you looking to buy Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity? Here is the right place to find the great deals. we can offer discounts of up to 90% on Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity ReviewThere is a fair bit of hard-won wisdom here. It covers every aspect of the programming world, from praise of hardware, through product management and economics, back to testing and coding style, and on and on. There are a few real gems among these 45 essays (plus intro and appendix), untrammeled by the need for consistency. He's certainly unabashed about bucking current fashions, including all the silliness seen under the revival tent of the eXtremists.
At several points, Joel rails against the false economies of making code smaller and sniggers at the people to whom it matters so much, then (ch 39) he rails against the size of a Microsoft runtime support package. He also points out that antialiased fonts, other than things like headlines, are a bad idea. That was already common knowledge around DEC by about 1980, since the visibly blurred margins of characters led to eyestrain as the focussing muscles fruitlessly tried to find the edge. Modern display technology with far smaller pixel sizes seems to have reversed that decision, however, except possibly at the smallest character sizes - a blow-up of a screen capture will often show antialiasing on body text that looks quite good. If he came on a bit less strong to start with, these annoyances would be a lot less annying.
Joel's incredibly high opinion of Joel wore on me after a while. Despite all the good in this book, I had to drag myself through the last half of his pontifications, repetition, and tendency towards the absolute. If you're already a fan of his other writing, that might not bother you. For me, Joel, in his role as high priest in the cult of Joel, became tiresome. I'm sure he's a skilled developer and savvy business man, but I really don't think I'd enjoy meeting him.
//wiredweirdJoel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity OverviewThis is a selection of essays from the author's Web site, http://www.joelonsoftware.com. Joel Spolsky started the web log in March 2000 in order to offer his insights, based on years of experience, on how to improve the world of programming. His extraordinary writing skills, technical knowledge, and caustic wit have made him a programming guru. This log has become infamous among the programming world, and is linked to more than 600 other websites and translated into 30+ languages!This book covers every imaginable aspect of software programming, from the best way to write code to the best way to design an office in which to write code. The book will relate to all software programmers (Microsoft and Open Source), anyone interested in furthering their knowledge of programming, or anyone trying to manage a programmer. Spolsky will be writing an introduction for the book.

Want to learn more information about Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Effective C#: 50 Specific Ways to Improve Your C# Review

Effective C#: 50 Specific Ways to Improve Your C#
Average Reviews:

(More customer reviews)
Are you looking to buy Effective C#: 50 Specific Ways to Improve Your C#? Here is the right place to find the great deals. we can offer discounts of up to 90% on Effective C#: 50 Specific Ways to Improve Your C#. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Effective C#: 50 Specific Ways to Improve Your C# ReviewFULL DISCLOSURE: I know Bill Wagner pretty well, and consider him a friend. I don't think that has colored this review, but you have a right to know. (If you doubt my objectivity, consider that I have now purchased TWO copies of this book, even though I probably could have gotten one or two for free. It's worth it!)
Back when I was a C++ programmer, there was one book everyone said I simply had to read: Effective C++ by Scott Meyers. And they were right: when I read that book, I summarized it as "Here are 50 mistakes you're making in your C++ code right now, and you don't even know it." (Note: the latest edition has been expanded to 55 mistakes.) So now that I'm a C# programmer, I eagerly looked forward to Effective C# (edited by Meyers), because I wanted that same sort of "Aha!" enlightenment.
Well, Bill Wagner failed to deliver that enlightenment. But that's a good thing, actually, and something he couldn't help. But to understand why, we have to return to Scott Meyers.
After the 50 amazingly simple improvements in Effective C++, Meyers wrote More Effective C++; and I characterized that book as, "35 really deep subjects that you have to think about and understand. Some of them will apply to your work. Some of them won't. None of them will be easy. But you really have to think about them." See, Meyers covered all the simple, universal problems in his first book, making it darned hard to make any simple, obvious C++ mistakes. That meant his second book had to cover deeper design concerns, many of which apply only in particular circumstances.
And herein lies the difference for Wagner's book. See, a generation of C++ programmers learned and internalized Meyers's lessons -- including the Microsoft team who created the C# language. When they built their C++-inspired (and Java-inspired) language, they built in a lot of the safeguards and limits that Meyers advocated as a standard practice for C++. They also built in best practices from other sources. So it's my contention that the C# equivalent to Effective C++ can't really be written. The language won't allow it.
So what Wagner has written really falls somewhere between Effective C++ and More Effective C++. There are some simple "Aha!" tips; but there are a lot more deep design concerns. That's really what the C# programmer needs, after all; and that's what Wagner delivers in a very fine fashion.
Now Wagner can explain these topics better than I can, so I'm not going to try. But I do want to comment on the items I found most useful:
5. Always provide ToString(). Your maintenance and client coders will thank you.
15. Utilize using and try/finally for Resource Cleanup. And 18. Implement the Standard Dispose Pattern. .NET pretty much solves memory leaks; but memory is only the most commonly leaked resource. And in solving memory leaks, they made it harder to manage certain other resources. In these two items, Wagner shows how to do the best job you can.
I wish I could say I was following every tip in this book; but it's hard to break bad habits. Read this book before you form bad habits yourself.
Note that the original printing of this book had a lot of typos where words rantogether. I now have a copy of the second printing, where those all seem to be fixed.
Effective C#: 50 Specific Ways to Improve Your C# Overview"This book really demonstrates Bill's strengths as a writer and programmer. In a very short amount of time, he is able to present an issue, fix it and conclude it; each chapter is tight, succinct, and to the point."–Josh Holmes, Independent Contractor"The book provides a good introduction to the C# language elements from apragmatic point of view, identifying best practices along the way, and following a clear and logical progression from the basic syntax to creating components to improving your code writing skills. Since each topic is covered in short entries, it is very easy to read and you'll quickly realize the benefits of the book."–Tomas Restrepo, Microsoft MVP"The book covers the basics well, especially with respect to the decisions needed when deriving classes from System.Object. It is easy to read with examples that are clear, concise and solid. I think it will bring good value to most readers."–Rob Steel, Central Region Integration COE & Lead Architect, Microsoft"Effective C# provides the C# developer with the tools they need to rapidly grow their experience in Visual C# 2003 while also providing insight into the many improvements to the language that will be hitting a desktop near you in the form of Visual C# 2005."–Doug Holland, Precision Objects"Part of the point of the .NET Framework–and the C# Language, in particular–is to let the developer focus solving customer problems and deliver product, rather than spending hours (or even weeks) writing plumbing code. Bill Wagner's Effective C#, not only shows you what's going on behind the scenes, but shows you how to take advantage of particular C# code constructs. Written in a dispassionate style that focuses on the facts–and just the facts–of writing effective C# code, Wagner's book drills down into practices that will let you write C# applications and components that are easier to maintain as well as faster to run. I'm recommending Effective C# to all students of my .NET BootCamp and other C#-related courses."–Richard Hale Shaw, www.RichardHaleShawGroup.comC#'s resemblances to C++, Java, and C make it easier to learn, but there's a downside: C# programmers often continue to use older techniques when far better alternatives are available. In Effective C#, respected .NET expert Bill Wagner identifies fifty ways you can start leveraging the full power of C# in order to write faster, more efficient, and more reliable software.Effective C# follows the format that made Effective C++ (Addison-Wesley, 1998) and Effective Java (Addison-Wesley, 2001) indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from value types to assemblies, exceptions to reflection. Along the way, he shows exactly how to avoid dozens of common C# performance and reliability pitfalls. You'll learn how to:Use both types of C# constants for efficiency and maintainability, see item 2Use immutable data types to eliminate unnecessary error checking, see item 7Avoid the C# function that'll practically always get you in trouble, see item 10Minimize garbage collection, boxing, and unboxing, see items 16 and 17Take full advantage of interfaces and delegates, see items 19 though 22Create CLS compliant assemblies that use noncompliant C# language features, see item 30Improve reliability and maintainability by creating small, cohesive assemblies, see item 32Leverage the full power of .NET's runtime diagnostics, see item 36Know when–and when not–to use reflection, see items 42 and 43Preview the major enhancements in C# 2.0, see item 49You're already a successful C# programmer–this book can help you become an outstanding one.Bill Wagner is co-founder of and .NET consultant for SRT Solutions. A nationally recognized independent expert on .NET, he has been a regular contributor to ASP.NET Pro Magazine, Visual Studio Magazine, and the .NET Insight newsletter. In addition to being a Microsoft Regional Director, he is also active in the Southeast Michigan .NET User Group and the Ann Arbor Computing Society. He is author of The C# Core Language Little Black Book (The Coriolis Group, 2002).© Copyright Pearson Education. All rights reserved.

Want to learn more information about Effective C#: 50 Specific Ways to Improve Your C#?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Effective Java (2nd Edition) Review

Effective Java (2nd Edition)
Average Reviews:

(More customer reviews)
Are you looking to buy Effective Java (2nd Edition)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Effective Java (2nd Edition). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Effective Java (2nd Edition) ReviewPlease see my review of the first edition for my general response. My opinion hasn't changed with the second, so I'll focus on what's new in this review.
The second edition was well worth the wait. The number of items are beefed up to 78 from 57. The chapter "Substitutes for C Constructs" is gone, but replaced by more contemporary material on "Generics" and "Enums and Annotations." Some first edition items have been amended to address features new to Java since the first edition was released. Some new items also address concurrency, favoring it over traditional Java threads. As expected, the cases for each item are methodically and persuaisvely made. If you are particularly interested in concurrency, also consider Java Concurrency in Practice.
The item discussions use boldface liberally to highlight key points, sometimes calling attention to arguments in the first edition that have been updated. If you're skimming -- the author in fact doesn't encourage cover-to-cover reading -- these highlights are useful attractors to important material you might otherwise gloss.
It's often helpful to have practices or insights you've earned on your own backed up by a reputable authority. Effective Java certainly helps with that. More importantly, the arguments that support his items are clear, easy to read, and compelling. Anyone proficient with Java would have to go a long way to find fault with them. In fact, it took considerable investigation to determine that one item from the first edition -- "Provide a readResolve method when necessary" -- was not the best advice for some cases. Bloch addresses that issue head-on in this edition, and provides its replacement ("For instance control, prefer enum types to readResolve").
As with the first edition, this one is a necessity for any serious Java developer.Effective Java (2nd Edition) OverviewAre you looking for a deeper understanding of the Java™ programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java™, Second Edition, brings togetherseventy-eight indispensable programmer's rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.This highly anticipated new edition of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing.Each chapter in the book consists of several "items" presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and outstanding code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.Highlights include: New coverage of generics, enums, annotations, autoboxing, the for-each loop, varargs, concurrency utilities, and much more

Want to learn more information about Effective Java (2nd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies) Review

GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies)
Average Reviews:

(More customer reviews)
Are you looking to buy GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies)? Here is the right place to find the great deals. we can offer discounts of up to 90% on GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies) ReviewPerhaps this is beside the point, but I was hoping that this book would contain some element of lighthearted humor while discussing such a dry topic. It does not.
The introduction states explicitly that the book is not intending to discuss either UI examples that are the most flagrantly hilarious, or examples that are the worst. Rather, the book critiques UI examples that are some of the most common. The examples are good, and described in depth, with specific reasons given for their classification as mistakes. There are also suggestions in some cases for how the designers could have avoided the blooper.
As a visual designer working primarily on the Web, I found this book as a good place to start learning more about the basics of an analytical approach to User Interface design. Even though the book focusses mostly on stand-alone application design, the principles can still be applied to UI issues on the Web, certainly in Web design using forms or heavy information structure. Some examples are hard to apply to the Web, for instance, the bloopers dealing with application menubar design issues are not widely applicable to Web pages. However, this book provides a great overview of the philosophy and process of UI design.
The worst thing I can say about this book, is that it isn't any fun to read, despite the impression given by the title. Since I come from a less analytical perspective on the topic, it definitely takes some determination to read this, although it is written in a straightforward and accessible manner. The most annoying aspect of the writing is that Jeff Johnson has apparently developed some bitterness towards everyone who is not a UI professional, and he rants constantly about developers, designers, marketing, and management. While his reasoning is usually valid, many entries read like the author is venting his issues to his psychiatrist after a hard week of consulting. With all the jaded complaining about developers (who seem to be his favorite target), I can't believe any of them can tolerate reading this book.
If you can get past Jeff Johnson's fanatical personality then there is much good insight to be gained from this book, for all User Interface novices.GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies) Overview

Want to learn more information about GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers (Interactive Technologies)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Code Complete: A Practical Handbook of Software Construction Review

Code Complete: A Practical Handbook of Software Construction
Average Reviews:

(More customer reviews)
Are you looking to buy Code Complete: A Practical Handbook of Software Construction? Here is the right place to find the great deals. we can offer discounts of up to 90% on Code Complete: A Practical Handbook of Software Construction. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Code Complete: A Practical Handbook of Software Construction ReviewIt was a pleasure to find out that this book had been updated when I reads news of it. CC2 is a great one-stop 'place' to go to when you want a great excuse to apply Stephen Covey's 'Sharpen The Saw' principle. This updated version has some solid, fantastic, expert instruction on designing from scratch, whether it's OO, writing better routines, psuedocode, nested loops, or at the higher level: agile methods, etc..
McConnell's approach of talking to you, the programmer, is ideal: not too much humor, and an easy to read, but professional approach in the way he donates the contents of his brain: i.e. McConnell's lengthy experience in the field.
I read just a couple of paragraphs in a chapter before work one morning, and the advice I picked up saved so much time that same day. And it wasn't even specific to coding instruction. It was a piece of advice on a philosophy on how he personally determines how much upfront design he should settle on before coding.

Reading Software Construction material of this caliber, as compared to some, yet another, new book on a specific language that might look impressive to know, is what makes for a solid programmer.
Refreshing your overall S/W construction knowledge gives you so much more of your life back, because you will have way less bugs and a lot more fun maintaining the high-quality code you are now writing because of CC2.
I mentioned already that he covers OO, but I wanted to emphasize the excellent material he offers in this area. I am now seeing the benefit of measuring the quality of your classes by this guideline: are they true Abstract Data Types. ( rather than just trying to use the syntax that the language provides to its potential).
Great job on a rather thorough re-write of a S/W development staple.

Code Complete: A Practical Handbook of Software Construction Overview
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code.

Discover the timeless techniques and strategies that help you:

Design for minimum complexity and maximum creativity
Reap the benefits of collaborative development
Apply defensive programming techniques to reduce and flush out errors
Exploit opportunities to refactor—or evolve—code, and do it safely
Use construction practices that are right-weight for your project
Debug problems quickly and effectively
Resolve critical construction issues early and correctly
Build quality into the beginning, middle, and end of your project


Want to learn more information about Code Complete: A Practical Handbook of Software Construction?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Effective Java: Programming Language Guide (Java Series) Review

Effective Java: Programming Language Guide (Java Series)
Average Reviews:

(More customer reviews)
Are you looking to buy Effective Java: Programming Language Guide (Java Series)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Effective Java: Programming Language Guide (Java Series). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Effective Java: Programming Language Guide (Java Series) ReviewThis book contains a generous cross-section of the knowledge that differentiates Java gurus from advanced Java programmers.
I've been working full-time in Java since 1995, prior to version 1.0. I've also written books and articles on Java and have been teaching Java at the University level as a sideline for four years. In that time I've accumulated a great deal of "expert" knowledge about the language, the JVM, and the APIs and developed opinions on the best approaches to use in Java. At this point, reading books such as this that contain a collection of tips and advice I am usually satisfied to gain one new piece of knowledge; I learned at least six new things from this book.
Of the 50+ books on Java I've read, this book contains by far the most comprehensive and useful collection of that hard-won knowledge of core Java. The bonus is the clear and concise manner in which it is presented.
Bloch is dead-on. There isn't a single factual error or piece of bad advice in the book. The most I came up with were a couple of omissions on some of the topics. However, omissions are inevitable given the technical depth of some of the topics Bloch covers, such as serialization, exceptions and threads.
I offer only two caveats about the book. The first is that the book is for advanced Java programmers. This is not to say that this information is not useful to every Java programmer, but you need to have a comprehensive knowledge of Java in order to appreciate many of the topics. This book does not provide comprehensive coverage, but rather fills in the detail and subtleties. I teach a Java IV class and recommend this to my students as additional reading after completing the class.
The other caveat is that this book is written from the perspective of writing public APIs. Bloch is the lead architect for the core JDK APIs where the classes and APIs have special security considerations. Several pieces of advice he gives apply absolutely to a public API where you want to defend the API from malicious code. However, if the code you are creating is intended for a less hostile and more trusting environment, fully following all of his advice will result in unnecessarily complex code. The one knock I give to the book is that Bloch does not delineate the circumstances that would dictate following his rather rigorous approach to bullet-proofing an API and can leave the reader with the mistaken perception that the advice applies equally to all categories of code.
Overall, this is absolutely a must-have book for the experienced Java programmer. Even if you are not yet an advanced Java programmer, buy this book and keep revisiting it as you advance until everything in the book makes sense to you.Effective Java: Programming Language Guide (Java Series) OverviewA new edition of this title is available, ISBN-10: 0321356683 ISBN-13: 9780321356680

Want to learn more information about Effective Java: Programming Language Guide (Java Series)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...