home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / scoper / readme.txt < prev    next >
Encoding:
Text File  |  1995-09-03  |  6.4 KB  |  157 lines

  1. SCOPER B.08
  2.  
  3. ELIMINATE DEAD CODE !
  4.  
  5. SCOPER analyzes VB3 project source code and identifies variables,
  6. constants, function - subroutine declarations and code that are
  7. never used. 
  8.  
  9. Shareware users can use the SCOPER report to manually remove dead
  10. code in their VB3 projects.
  11.  
  12. Registered users can have SCOPER automatically rewrite their code
  13. (in a different directory) eliminating all unused elements. In a
  14. few seconds, the registered version will create a new copy of your
  15. project, including custom CONSTANT.TXT, WIN30API.TXT, VBSQL.BI, 
  16. etc. containing ONLY the elements your project needs.
  17.  
  18. Registered users can have SCOPER produce an optional cross
  19. reference report, filtered by any desired combination of scope and
  20. object type.
  21.  
  22. SCOPER requires the source modules to be saved as text. The 
  23. registered version will do an "in-flight" binary->text conversion 
  24. if the project contains any source that was saved as binary.
  25.  
  26. In the corporate development environment, use SCOPER as the final
  27. project check before production cutover. Make sure production
  28. .EXE's are not riddled with dead code and wasted space.
  29.  
  30. TO USE: Copy the SCOPER distribution files into any directory you
  31. wish. The files are:
  32.  
  33.         SCOPER.EXE
  34.         SCOPER.HLP
  35.         SPREAD20.VBX
  36.         QPRO200.DLL
  37.  
  38. 1. Execute SCOPER.EXE from windows. If you are using an evaluation
  39. copy Click "I AGREE" on the SCOPER evaluation form. If you are a 
  40. shareware user and wish to receive a registered copy of SCOPER, 
  41. click "ORDER FORM" or, go to the "How to Order a Registered Copy"
  42. section in the on-line help file. 
  43.  
  44. 2. From the SCOPER screen click SELECT PROJECT. Pick the project
  45. .MAK file you want analyzed. If SCOPER finds any binary source in 
  46. the project it will prompt you to save these modules as text.
  47. REGISTERED USERS: SCOPER will ask you if it should do an in-flight 
  48. binary->text conversion.
  49.  
  50. 3. SCOPER normally checks for unused elements of all combinations 
  51. of type and scope. If you want to filter this checking, click the 
  52. FILTER button to customize the type/scope combinations SCOPER 
  53. will look for. REGISTERED USERS: If you intend to use SCOPER's 
  54. VB XREF facilities after the run, check the "SAVE DATA FOR XREF" 
  55. box on the OPTIONS screen.
  56.  
  57. 4. Click SCOPER to start analysis. While running, SCOPER displays 
  58. two progress bars. The left bar represents progress for the source
  59. module currently being analyzed. The right bar displays progress 
  60. for the entire project. When SCOPER is done, the results can be 
  61. viewed as follows:
  62.  
  63. 5. Click PRINT if you want a hardcopy "DEAD CODE" report. 
  64.  
  65. 6. Click SAVE TO FILE to create a tab-delimited file of unused 
  66. elements suitable for importing into Excel, etc. 
  67.  
  68. 7. Click STATS to display interesting statistics about your 
  69. project. When the summary stats screen is displayed, you can 
  70. double-click on any filename to drill-down to more detailed 
  71. statistics about any form or module in the project.
  72.  
  73. 8. REGISTERED USERS: The "SELECT PATH" button will be enabled.
  74. Click this button to select the target directory for the new
  75. project source.
  76.  
  77. 9. REGISTERED USERS: Once the target path is selected, the
  78. "AUTO-REWRITE" button will be enabled. Click this button to have
  79. SCOPER create new source code for your project, automatically
  80. eliminating unused variables, constants, declarations, and dead
  81. code.
  82.  
  83. 10. REGISTERED USERS: If you checked the "SAVE DATA FOR XREF"
  84. checkbox, the "CROSS-REF" button will be enabled. Click this
  85. button to bring up the cross-reference form. Note that the
  86. cross-reference data can be filtered by any combination of 
  87. scope and object type using the check boxes on the bottom of the 
  88. form.
  89.  
  90. 11. If you want another project analyzed, return to step 2. If 
  91. not, click EXIT.
  92.  
  93. NOTES FOR REGISTERED USERS:
  94.  
  95. SCOPER will NOT modify any original source modules. The
  96. Auto-Rewrite process begins by copying everything from the
  97. original project directory into the target directory.  If any
  98. modules need to be re-written that were NOT in the original
  99. directory (e.g., CONSTANT.TXT is usually in the VB directory),
  100. SCOPER will write the new module in the target directory and
  101. modify the new project .MAK file accordingly.
  102.  
  103. Also, it is a good idea to run the rewritten project through
  104. SCOPER after the auto-rewrite process completes. This will catch
  105. situations where a module or global scope variable is only used in
  106. a routine that is never executed. SCOPER will eliminate the unused
  107. routine during the first rewrite, but the variable will remain 
  108. part of the project. When the rewritten project is run through 
  109. SCOPER, the variable will be identified as unused and will be 
  110. eliminated.
  111.  
  112. The above situation becomes very interesting when one considers
  113. the fact that it can involve an infinite number of dimensions.
  114. For example, suppose routine-A calls routine-B, and routine-B
  115. calls routine-C. Assume that routine-A is never called. On the
  116. first iteration, SCOPER will eliminate routine-A but not routine-B
  117. and routine-C. On the second iteration, SCOPER will eliminate
  118. routine-B (assuming it is not called by any other routines) but
  119. not routine-C. On the THIRD iteration, SCOPER will eliminate
  120. routine-C (assuming it is not called by any other routines). Thus,
  121. it is a good idea to SCOPE the project until it comes up "clean" 
  122. (no unused elements). 95% of the time, this will happen after the 
  123. first iteration.
  124.  
  125. A brief note on how the SCOPER rewrite engine handles recursion:
  126. If routine-A calls itself but is not called by another routine,
  127. SCOPER will eliminate routine-A since it is dead code. However, 
  128. if routine-A calls routine-B, and routine-B calls routine-A, 
  129. SCOPER will not eliminate either routine since both are, 
  130. technically speaking, referenced outside their own local scope.
  131.  
  132. WHAT'S NEW in Version B.08:
  133.  
  134. 1. A bug that was causing problems if the new directory name in the
  135. CREATE DIRECTORY dialog box ended with a "\" has been fixed.
  136.  
  137. 2. In certain situations, SCOPER was not parsing literals with 
  138. imbedded double quotes properly (e.g., "aabb""&()"). This has been
  139. fixed. 
  140.  
  141. Please use U.S. Mail, Compuserve e:mail or fax to let us know what
  142. enhancements you would like to see in future SCOPER releases.
  143.  
  144. Thanks.
  145.  
  146. SCOPER Copyright(c) 1995 by ISES, Inc. ALL RIGHTS RESERVED
  147.  
  148. ISES, Inc.
  149. 102 Sunrise Drive
  150. Gillette, NJ 07933
  151.  
  152. Compuserve: 72417,627
  153. AOL: ISES INC
  154. Fax: 908-580-1008
  155. Voice: 1-800-447-ISES -or- 908-766-1894
  156.  
  157.