<< Chapter < Page
  Itse 1359 introduction to     Page 7 / 7
Chapter >> Page >
Figure 8 . A serious programming problem.
>>>xypdq = 6>>>pzmbw = 5>>>xypdq + pzmbw 11>>>xyppq = 16 # accidental misspelling>>>xypdq + pzmbw # correct spelling 11>>>

Why did this happen ?

The problem arose in the fifth line of text in Figure 8 . In this line, the programmer intended to assign a value of 16 to the existing variable named xypdq. However, because of a spelling error, the programmerinadvertently created a new variable named xyppq and assigned the new value of 16 to the new variable insteadof assigning it to the existing variable.

As a result, the value stored in the original variable named xypdq wasn't changed. When that variable was used later in an expression, the result did not meet theprogrammer's expectations.

The code visualizer

This error is illustrated in the diagram for the code visualizer in Figure 9 .

Figure 9. Visualizer showing result of a spelling error.

missing image

The code in the code window in Figure 9 is similar to the interactive code in Figure 8 .

The diagram on the right in Figure 9 shows a variable named xyppq (not xypdq) that exists solely because of a spelling error when writing the code. That variable should not exist. In addition, that variable points toan object of type int containing a value 16. That object also should not exist. (The computer does exactly what you tell it to do, even if what you tell it to do is wrong.)

Spelling errors can be dangerous

This is one of the greatest dangers of using a programming language that doesn't require the declaration of variables. This type of spelling error iseasy to make (as a result of a simple typing error) , and can be extremely difficult to find and fix.

Defending against spelling errors

The best defense against this kind of error is to make all of your variable names meaningful. Then if you make a typing error (that results in a spelling error) , you might have a better chance of finding it later.

Meaningful variable names

Some meaningful variable names follow. Note the judicious use of upper and lower case to visually break the variable name into separate recognizable words. This is anaming convention that has become very popular, particular among Java programmers. It is commonly referred to as camelCase as in thisCamelHasFourHumps .

  • myUpperLimit
  • yourUpperLimit
  • theOverheadRate
  • theFinalPrice

Remember, case is significant in variable names

The variable named MyUpperLimit is not the same variable as the one named myUpperLimit .

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Itse1359-1030-Variables and Identifiers
  • File: Itse1359-1030.htm
  • Published: 10/14/14
  • Revised: 01/31/16
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask