User Tools

Site Tools


guides:programstyle:constants

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guides:programstyle:constants [2020/07/24 11:49] wikiadminguides:programstyle:constants [2024/07/25 15:01] (current) – external edit 127.0.0.1
Line 20: Line 20:
 </code> </code>
  
-Unless otherwise instructed, single prompt, the +At times the same constant may be given multiple names.  Assume you are writing a program where the maximum number of items a person may purchase is 20.  In addition, if the purchase price is over $20, the consumer will receive a discount.   Each of these has a different meaning, so each should be declared as a named constant. 
 + 
 +Acceptable Example: 
 +<code c++> 
 +const int MAX_ITEMS  = 20; 
 +const int PRICE_BREAK = 20; 
 + 
 +... 
 + 
 +if (itemCount > MAX_ITEMS) { 
 + ... 
 +
 + 
 +if (price > PRICE_BREAK) { 
 +    // the price was over $20, so give the customer a discount  
 +
 +</code> 
 + 
 +Unacceptable Example: 
 +<code c++> 
 +const int MAX_ITEMS = 20; 
 + 
 +if (price > MAX_ITEMS) { 
 +    // the price was over $20, so give the customer a discount 
 +   ... 
 +
 +</code> 
 +Note this is a very bad use.  If the user decided to change MAX_ITEMS, a new bug would be introduced into the code. 
 + 
 +In the last example, a programmer might be tempted to employ the following definition 
 +<code c++> 
 +const int TWENTY = 20; 
 +</code> 
 + 
 +This is unacceptable for multiple reasons.   
 +  * TWENTY is no more informative than 20.   
 +  * If the value of the constant changed, the programmer might be tempted to produce the following totally unacceptable code 
 +    * <code c++> 
 +const int TWENTY = 35; 
 +</code> 
 + 
 +Unless otherwise instructed, single use constants are usually not named unless they provide clarity to the program.  Examples include a prompt used one time or an arbitrary field width. 
 + 
 +The following is probably not necessairy 
 +<code c++> 
 +const int FIRST_FIELD_WITDTH = 20; 
 +const string FIRST_PROMPT = "Enter your Age"; 
 +... 
 + 
 +cout << setw(FIRST_FIELD_WIDTH) << FIRST_PROMPT << endl; 
 +</code>
guides/programstyle/constants.1595591394.txt.gz · Last modified: 2024/07/25 15:01 (external edit)