The Visual Basic Style Guide

Overview

The essential companion for Visual Basic development teams and individuals.

  • Master effective practices to create crystal-clear, reusable code
  • Foster effective collaboration by maintaining reliable ...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (7) from $16.99   
  • New (3) from $21.38   
  • Used (4) from $16.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$21.38
Seller since 2009

Feedback rating:

(73)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
2000-05-30 Paperback New This is a new 2000 softcover. All clean crisp text pages with a nice tight binding. Daily shipping. ALL ORDERS ARE GUARANTEED.

Ships from: MAYFIELD HEIGHTS, OH

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$59.50
Seller since 2014

Feedback rating:

(258)

Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$70.00
Seller since 2014

Feedback rating:

(149)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

The essential companion for Visual Basic development teams and individuals.

  • Master effective practices to create crystal-clear, reusable code
  • Foster effective collaboration by maintaining reliable standards
  • Acquire the mindset of a professional developer
  • Use the comprehensive reference section to make your programs consistent and portable
  • Works with all flavors of Visual Basic
  • Professional best practices for programmers
  • Guidelines for standard structure and syntax
  • Foundational attitudes of quality development
  • Complete reference section for all flavors of Visual Basic

The essential companion for Visual Basic development teams and individuals.

All effective teamwork is based on clear communication. In the field of software development, this means using consistent, documented conventions that can be easily understood and built upon by teammates, now and in the future.

To meet this need, this handbook for Visual Basic programmers contains a comprehensive reference section covering nomenclature, instantiation, keywords, controls, user interfaces-every major VB concept, in all flavors of VB. And more than that, it promotes an attitude, an environment of the mind in which healthy Visual Basic programs are formed.

The winning philosophy of The Visual Basic Style Guide will help your team develop its programming power through discipline, documentation, and professionalism. Build your development skills through:

  • Application of proven and consistent style and user interface methodologies,
  • Grounding in the foundational attitudesof discipline, planning, and ethics, and
  • Getting to know the comprehensive, quick-access reference section.

Even programmers working on individual projects will benefit from the enhanced professionalism that comes from consistency. Whether you're a experienced programmer, a team leader, or a manager, you'll appreciate the thorough coverage and the rigorous standards provided in The Visual Basic Style Guide.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
For VB team development to succeed, team members need a common terminology, common style, common standards, and common best practices. The Visual Basic Style Guide gives them what they need. Hand it to everyone on your team, and say, "do it this way." Or use it as a solid foundation for your own policies. Either way, it'll help you create more reliable code, create it faster, and build systems your successors can maintain far more easily.

Tim Patrick covers the entire VB software development lifecycle, beginning with planning and requirements gathering, and continuing all the way through documentation. He offers detailed, practical coding guidelines — including proven solutions to recurring VB programming challenges, expressed as patterns.

In some cases, he draws upon existing resources that too many developers neglect; for instance, Microsoft's Windows Interface Guidelines for Software Design, which will help your developers build interfaces that will be more intuitive to experienced users of Windows applications. In many cases, however, there have been no widely accepted standards — and they're desperately needed. Patrick fills the gap, drawing upon his extensive experience as a developer, VB trainer, and creator of in-house standards guides. Few VB books have been as sorely needed.
Bill Camarda, bn.com editor

Read More Show Less

Product Details

Read an Excerpt

PREFACE:

Preface

I still remember the first computer program I wrote. I composed it while standing in front of a TRS-80 at a Radio Shack store in Missoula, Montana. Then a 12-year-old, I had just seen my first "real" computer a few weeks earlier in my classroom. Our teacher taught us everything that he knew about the computer over one or two days, and I was fascinated. Cautiously I approached the sleek gray terminal with its glowing phosphor screen. With excitement welling up inside of me, I set my mind on the task at hand, reached out for the keyboard, and programmed my first software application.

10 FOR I = 1 TO 1000
20 PRINT I, I + 1
30 NEXT I
40 END

It may seem infantile, especially when you consider what you can do with the same amount of code in some more modern languages. But for a seventh grader with his first chance to write a real program, it was grand. It opened a whole new world for me. I can still recall the feeling I had as I stood there, watching the columns of numbers racing down the screen. That same feeling comes back to me every time I write a working program.

Over the years I have learned to write programs longer than four lines. I took the standard academic and business path through PASCAL, 8086 assembly language, LISP, C, and C++, but today I spend most of my programming career with a variant of the language that my fingers first typed: Microsoft Visual Basic. And why not? Visual Basic allows me to write complex applications for Microsoft Windows in a fraction of the time that it would take me to write the same programs in C or C++, with or without class libraries such as MFC and OWL. Visual Basic makes thecreation of Windows applications literally child's play. However, along with the ease of Windows programming has come the ease of writing bad programs.

In the early days of computers, the skill of programming was limited to a few geeks who spent their lives cooped up in a stadium-sized computer room with a brain the size of a four-function calculator (the computer's brain, not the geeks'). These progenitors of modern software engineers spent hours choosing just the right punch cards to calculate pi to 10 decimal places. The most powerful computers of the time were expensive, slow, and short on memory. It was in the programmer's (and his employer's) best interest to write well-crafted, concise, and error-free code the first time. Style was not an issue; if it worked, it was good enough.

Today the computing horizon is quite different. Once there were a few ENIAC-shaped mud huts; now Pentium-class high-rises dot the landscape. The latest machines are orders of magnitude faster than anything imaged by Charles Babbage, and they are priced within the budget of most technology-crazed consumers. The modern business climate requires that the average person understand how to operate a computer. With the advent of (relatively) easy-to-use programming languages such as BASIC, some employers are asking their business experts to translate that business knowledge into working computer applications.

Consider the case of Joe, an accountant for a small manufacturing company. Joe has worked for years literally "keeping the books." One day, Joe's supervisor, knowing that Joe is the resident expert on accounting practices, presents him with an IBM PC and a copy of dBase II. Daunted at first, Joe digs in to the database, and after months of feverish activity, shows off his new accounting package.

No one is more surprised than Joe to find that the program actually does accounting. Still, he knows that it is not quite right, and it is always a few dollars and cents off at the end of the month. Over the next few years Joe works hard at fixing and improving the program, as well as writing numerous reports demanded by various departments. Finally the day comes for Joe to retire, and Sue, his assistant, is given the keys to the dBase program. Along with those keys Sue receives a "good luck" from Joe, but scant information about how the program works.

You already know the rest of the story. The program is in a hideous state of disrepair, but since Sue is as much a novice as Joe was, she is at a loss as to how to fix the application. If this story was unique we would simply sigh and say, "Oh poor Sue." But this situation happens on a daily basis across the computer world. Instead of pity for Sue, we often have to console ourselves.

Obscure programming practices are not limited to untrained business users. Programming students are often tempted with languages that invite them to write strange source code. One of the first languages I used in school was a flavor of BASIC found on the PDP 11/70 hosted operating system RSTS/E. This version of BASIC did not require whitespace to be placed between most language constructs. Therefore, it was possible to write the same four-line program shown earlier using a single, compressed statement.

FORI=1TO1000\PRINTI,I+1\NEXTI\END

It even allowed this reversed syntax.

PRINTI,I+1FORI=1TO1000

Imagine entire applications written in this compressed format! Because the interpreter focused on the extraction of known keywords from any statement, it allowed the programmer to write very unsightly code that did not run any faster than the equivalent code with whitespace included. Consider the following program.

10A$(I)=" "FORI=1TO9\B$="-+-+-"\C$="|"\X=1\R$=""\T=0
20GOSUB500
25IFX=1THENPRINT"YOUR TURN:";ELSEPRINT"TRY AGAIN:";
30INPUTQ$\P=INT(Q$)\X=2\IFA$(P)<>" "THENGOTO20
40X=1\A$(P)="X"\T=T+1
50GOSUB1000\IFR$="X"THENPRINT"YOU WIN!"\GOTO10
60IFT=9THENPRINT"DRAW"\GOTO10
70M=INT(RND(9))\IFA$(M)<>" "THENGOTO70\A$(M)="O"
80GOSUB1000\IFR$="O"THENGOSUB500\PRINT"I WIN!"\GOTO10
90GOTO20
500PRINT"BOARD LEGEND"\FORC1=1TO3
510PRINTA$(((C1-1)*3)+1);C$;A$(((C1-1)*3)+2);
515PRINTC$;A$(((C1-1)*3)+3);
520PRINT" ";((C1-1)*3)+1;C$;
525PRINT((C1-1)*3)+2;C$;((C1-1)*3)+1
530IFC1<3THENPRINTB$
540NEXTC1\RETURN
1000RESTORE\R$=""\FORC1=1TO8\READT1\READT2\READT3
1010Q$=A$(T1)+A$(T2)+A$(T3)
1015IFQ$="XXX"THENR$="X"\IFQ$="OOO"THENR$="O"
1020NEXTC1\RETURN
1030DATA1,2,3,4,5,6,7,8,9,1,4,7,2,5,8,3,6,9,1,5,9,3,5,7

I am sure that you will soon figure out the purpose of this application. (See the answer at the end of this Preface just to be sure.) Can you picture an entire business application written in this style? Can you picture yourself being asked to fix such an application?

Visual Basic is a little more strict in the area of statement formatting, but it is still possible to write programs that are both internally (code) and externally (user interface) displeasing. When I was taking programming classes in school, I thought it was clever to write obfuscated code in this manner. This feeling ended when, in my first programming job, I was asked to fix someone else's muddled application. From that point on I was committed to writing clear, concise, and readable code that was pleasing for both the programmer and for the user. This book is a guide to help you travel this same path. In this text you will find a clear differentiation between unprofessional programs—those that are aesthetically and logically annoying to both the user and other programmers that may review the code—and professional programs.

Who Is This Book For?

This book is for everyone who cares about Visual Basic applications, and the development process surrounding these applications. Microsoft Visual Basic is very popular, outselling Microsoft's own C/C++ compiler by a factor of five to one. Many of these units are sold to weekend programmers with little or no training in programming practices. You can walk in to any major bookseller and see shelf after shelf of books with names like Learn Visual Basic in Your Sleep and Visual Basic in 21 Minutes. These books are great for learning the usage and syntax of Visual Basic, but they often fall short when it comes to training the eager developer how to program well. The Visual Basic Style Guide is written for the Visual Basic programmer who wishes to enhance his or her professional and technical programming methods and style. If you are such a programmer, read on!

Writing professional Visual Basic programs does take effort, lots of effort. Still, effort alone will not bring about the quality that you seek. This book contains lists of guidelines for writing good Visual Basic programs. Yet more than that, it promotes an attitude, an environment of the mind in which healthy Visual Basic programs are formed.

The Visual Basic language now reaches out into other areas of software development. With the advent of Visual Basic for Applications and Visual Basic, Scripting Edition, more and more programmers are relying on Visual Basic for their many software solutions. The Visual Basic Style Guide is designed for use with each of the flavors of Visual Basic.

Read More Show Less

Table of Contents

I. STRUCTURE.

1. Professional Programming as Style.
Goals of Professional Programming. Meeting the Needs of the User. Meeting the Needs of Your Employer. Meeting the Programmer's Needs. A System for Professional Programming. Structure. Foundation. Standards. Summary.

2. Using Declaration.
What Is Declaration? Why Declare? Clarity. Consistency. Expectations Fulfilled. Increased Recognition. Reduced Memory Usage. Visual Confirmation. How to Use Declaration. Variable Data Declaration. Constant Data Declaration. Other Declarations. Order of Code. Summary.

3. Commenting and Style.
What Are Commenting and Style? What Is Commenting? What Is Style? Why Use Commenting and Style? Why Include Comments? Description of Purpose. Readability. Second Memory. Logic Clarity. Identification. Code Reviews. Future Modifications. Why Use Style? Readability. Grouping of Logic. Guarantee of Program Flow. How to Comment. Who. What. Where. When. Why. How. How Many Comments? How to Employ Style. Indentation. Capitalization of Identifiers and Literal Strings. Use of Blank Lines within Code. Use of Parentheses around Conditions and Expressions. Use of Line Continuation Characters. Use of Multi-Statement Lines. Automatically Generated Source Code. Summary.

4. User Interface Consistency.
What Is User Interface Consistency? Consistency with the User. Consistency within the Application. Consistency with Other Applications. Why Maintain UserInterface Consistency? Accomplishment of a Task. Access to Information. Increase in Productivity. Increase in Accuracy. Integration with Existing Workflow. How to Maintain User Interface Consistency. Consistency with the User. Consistency within the Application. Consistency with Other Applications. Summary.

5. Documentation.
What Is Documentation? Why Document? Technical Support. User Support. How to Document. Quality: Always Professional. Style: From General to Specific to General. Content: Types of Internal Documentation. Content: Types of External Documentation. Summary.

II. FOUNDATION.

6. Discipline.
What Is Discipline? Discipline Is Training. Discipline Corrects. Discipline Focuses. Discipline Perfects. Discipline Affects the Mental Faculties. Discipline Affects Moral Character. Why Be Disciplined? Discipline Results in Professional Programs. Discipline Reduces Development Pressures. Discipline Increases Application Satisfaction. Discipline Prepares You for Advanced Programming. Discipline Attracts the Admiration of Your Peers. How to Instill Discipline. Establishing a Routine. Improving Your Methods. Summary.

7. Planning.
What Is Planning? Taking the Problem Apart. Putting the Solution Together. Why Plan? Understanding the User's Needs. Standardization. Goals and Milestones. Anticipating Surprises and Risks. How to Plan. Understand What the User Needs. Determine the Project Scope. Organize the Project. Review the Project. Summary.

8. Ethics.
What Is Ethics? Ethics Is Part of a World-View. Ethics Deals with Right and Wrong Actions. Ethics Deals with Right and Wrong Attitudes. Why Have Ethics? How to Have Ethics. Honesty. Trust. Quality. Ownership. Humility. Summary.

III. STANDARDS.

9. Declaration Standards.
Nomenclature Standards. Nomenclature for Variables. Nomenclature for Constants. Nomenclature for User-Defined Types. Nomenclature for Enumerated Data Types. Nomenclature for Line Labels. Nomenclature for Procedures. Nomenclature for Declares. Nomenclature for User Interface Elements. Nomenclature Exceptions. Instantiation Standards. Instantiation of Variables. Instantiation of Constants. Instantiation of User-Defined Types. Instantiation of Enumerated Data Types. Instantiation of Line Labels. Instantiation of Procedures. Instantiation of Declares. Declaration Modifiers. Global Options. Compiler Directives. Visual Basic Limitations on Declaration. Data Typing of Literals. Summary.

10. Keyword Reference.
Categories. Compiler Directives. Conversion Functions. Date and Time Features. Declaration Features. Error Handling and Debugging Features. File System Features. Financial Features. Flow Control Features. Math Features. Miscellaneous Features. Operators. String Features. Alphabetical Keyword List. Summary.

11. Control and User Interface Standards.
General Considerations. Communication. Control Interaction. Documentation. Specific Control Information. Summary.

12. Database Standards.
Database Design. Nomenclature. Normalization. Database Documentation. Database Usage. Spreadsheet Presentation. Bound Field Presentation. Form Object Presentation. Summary.

Index.
Read More Show Less

Preface

PREFACE:

Preface

I still remember the first computer program I wrote. I composed it while standing in front of a TRS-80 at a Radio Shack store in Missoula, Montana. Then a 12-year-old, I had just seen my first "real" computer a few weeks earlier in my classroom. Our teacher taught us everything that he knew about the computer over one or two days, and I was fascinated. Cautiously I approached the sleek gray terminal with its glowing phosphor screen. With excitement welling up inside of me, I set my mind on the task at hand, reached out for the keyboard, and programmed my first software application.

10 FOR I = 1 TO 1000
20 PRINT I, I + 1
30 NEXT I
40 END

It may seem infantile, especially when you consider what you can do with the same amount of code in some more modern languages. But for a seventh grader with his first chance to write a real program, it was grand. It opened a whole new world for me. I can still recall the feeling I had as I stood there, watching the columns of numbers racing down the screen. That same feeling comes back to me every time I write a working program.

Over the years I have learned to write programs longer than four lines. I took the standard academic and business path through PASCAL, 8086 assembly language, LISP, C, and C++, but today I spend most of my programming career with a variant of the language that my fingers first typed: Microsoft Visual Basic. And why not? Visual Basic allows me to write complex applications for Microsoft Windows in a fraction of the time that it would take me to write the same programs in C or C++, with or without class libraries such as MFC and OWL. Visual Basic makesthecreation of Windows applications literally child's play. However, along with the ease of Windows programming has come the ease of writing bad programs.

In the early days of computers, the skill of programming was limited to a few geeks who spent their lives cooped up in a stadium-sized computer room with a brain the size of a four-function calculator (the computer's brain, not the geeks'). These progenitors of modern software engineers spent hours choosing just the right punch cards to calculate pi to 10 decimal places. The most powerful computers of the time were expensive, slow, and short on memory. It was in the programmer's (and his employer's) best interest to write well-crafted, concise, and error-free code the first time. Style was not an issue; if it worked, it was good enough.

Today the computing horizon is quite different. Once there were a few ENIAC-shaped mud huts; now Pentium-class high-rises dot the landscape. The latest machines are orders of magnitude faster than anything imaged by Charles Babbage, and they are priced within the budget of most technology-crazed consumers. The modern business climate requires that the average person understand how to operate a computer. With the advent of (relatively) easy-to-use programming languages such as BASIC, some employers are asking their business experts to translate that business knowledge into working computer applications.

Consider the case of Joe, an accountant for a small manufacturing company. Joe has worked for years literally "keeping the books." One day, Joe's supervisor, knowing that Joe is the resident expert on accounting practices, presents him with an IBM PC and a copy of dBase II. Daunted at first, Joe digs in to the database, and after months of feverish activity, shows off his new accounting package.

No one is more surprised than Joe to find that the program actually does accounting. Still, he knows that it is not quite right, and it is always a few dollars and cents off at the end of the month. Over the next few years Joe works hard at fixing and improving the program, as well as writing numerous reports demanded by various departments. Finally the day comes for Joe to retire, and Sue, his assistant, is given the keys to the dBase program. Along with those keys Sue receives a "good luck" from Joe, but scant information about how the program works.

You already know the rest of the story. The program is in a hideous state of disrepair, but since Sue is as much a novice as Joe was, she is at a loss as to how to fix the application. If this story was unique we would simply sigh and say, "Oh poor Sue." But this situation happens on a daily basis across the computer world. Instead of pity for Sue, we often have to console ourselves.

Obscure programming practices are not limited to untrained business users. Programming students are often tempted with languages that invite them to write strange source code. One of the first languages I used in school was a flavor of BASIC found on the PDP 11/70 hosted operating system RSTS/E. This version of BASIC did not require whitespace to be placed between most language constructs. Therefore, it was possible to write the same four-line program shown earlier using a single, compressed statement.

FORI=1TO1000\\PRINTI,I+1\\NEXTI\\END

It even allowed this reversed syntax.

PRINTI,I+1FORI=1TO1000

Imagine entire applications written in this compressed format! Because the interpreter focused on the extraction of known keywords from any statement, it allowed the programmer to write very unsightly code that did not run any faster than the equivalent code with whitespace included. Consider the following program.

10A$(I)=" "FORI=1TO9\\B$="-+-+-"\\C$="|"\\X=1\\R$=""\\T=0
20GOSUB500
25IFX=1THENPRINT"YOUR TURN:";ELSEPRINT"TRY AGAIN:";
30INPUTQ$\\P=INT(Q$)\\X=2\\IFA$(P)<>" "THENGOTO20
40X=1\\A$(P)="X"\\T=T+1
50GOSUB1000\\IFR$="X"THENPRINT"YOU WIN!"\\GOTO10
60IFT=9THENPRINT"DRAW"\\GOTO10
70M=INT(RND(9))\\IFA$(M)<>" "THENGOTO70\\A$(M)="O"
80GOSUB1000\\IFR$="O"THENGOSUB500\\PRINT"I WIN!"\\GOTO10
90GOTO20
500PRINT"BOARD LEGEND"\\FORC1=1TO3
510PRINTA$(((C1-1)*3)+1);C$;A$(((C1-1)*3)+2);
515PRINTC$;A$(((C1-1)*3)+3);
520PRINT" ";((C1-1)*3)+1;C$;
525PRINT((C1-1)*3)+2;C$;((C1-1)*3)+1
530IFC1<3THENPRINTB$
540NEXTC1\\RETURN
1000RESTORE\\R$=""\\FORC1=1TO8\\READT1\\READT2\\READT3
1010Q$=A$(T1)+A$(T2)+A$(T3)
1015IFQ$="XXX"THENR$="X"\\IFQ$="OOO"THENR$="O"
1020NEXTC1\\RETURN
1030DATA1,2,3,4,5,6,7,8,9,1,4,7,2,5,8,3,6,9,1,5,9,3,5,7

I am sure that you will soon figure out the purpose of this application. (See the answer at the end of this Preface just to be sure.) Can you picture an entire business application written in this style? Can you picture yourself being asked to fix such an application?

Visual Basic is a little more strict in the area of statement formatting, but it is still possible to write programs that are both internally (code) and externally (user interface) displeasing. When I was taking programming classes in school, I thought it was clever to write obfuscated code in this manner. This feeling ended when, in my first programming job, I was asked to fix someone else's muddled application. From that point on I was committed to writing clear, concise, and readable code that was pleasing for both the programmer and for the user. This book is a guide to help you travel this same path. In this text you will find a clear differentiation between unprofessional programs—those that are aesthetically and logically annoying to both the user and other programmers that may review the code—and professional programs.

Who Is This Book For?

This book is for everyone who cares about Visual Basic applications, and the development process surrounding these applications. Microsoft Visual Basic is very popular, outselling Microsoft's own C/C++ compiler by a factor of five to one. Many of these units are sold to weekend programmers with little or no training in programming practices. You can walk in to any major bookseller and see shelf after shelf of books with names like Learn Visual Basic in Your Sleep and Visual Basic in 21 Minutes. These books are great for learning the usage and syntax of Visual Basic, but they often fall short when it comes to training the eager developer how to program well. The Visual Basic Style Guide is written for the Visual Basic programmer who wishes to enhance his or her professional and technical programming methods and style. If you are such a programmer, read on!

Writing professional Visual Basic programs does take effort, lots of effort. Still, effort alone will not bring about the quality that you seek. This book contains lists of guidelines for writing good Visual Basic programs. Yet more than that, it promotes an attitude, an environment of the mind in which healthy Visual Basic programs are formed.

The Visual Basic language now reaches out into other areas of software development. With the advent of Visual Basic for Applications and Visual Basic, Scripting Edition, more and more programmers are relying on Visual Basic for their many software solutions. The Visual Basic Style Guide is designed for use with each of the flavors of Visual Basic.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)