A number of code quality checks and code transformations
are available via the
"Debug (Static Code Checks)" menu item,
or the toolbar button.
The operations should be self describing (see the rationale display).
Here is a short, possibly incomplete list of checks:
- Bugs
- Messages sent but not implemented
- Overrides a "special" message
- References an undeclared variable
- Sublcass responsibility not defined
- precidence check: A | B = C instead of A | (B = C)
- True/False instead if true/false
- variable used but not defined (no value)
- Bugs (Smalltalk/X specific)
- leftover debug code
- Misplaced ^ in ifTrue:ifFalse: (stc bug workaround)
- Missing translations in dialogs
- Bugs (Squeak specific)
- leftover debug code
- Missing translations in menus
- platform dependent user functions
- sends a depricated message
- sends super new initialize
- Possible Bugs
- Intention Revealing
- class variable capitalization
- doesn't use result of a collect/select
- guarding clauses
- instance variable captialization
- law of demeter
- literal array containing only byte valued integers
- literal array containing only characters
- method defined in all subclasses, but not in super
- obfuscated lazy initialization
- sends add:/remove: to external collection
- temporary variable captialization
- unnecessary size check
- uses contains instead of includes
- uses "size=0", "=nil" or "at:1"
- uses detect:ifNone: instead of contains:
- uses do: instead of collect: or select:
- Misc
- Unnecessary Code
and transformations:
- General
- Transformations (Smalltalk/X specific)
- Transformations (Squeak specific)
Next: Code Generation
Copyright © 2000 eXept Software AG, all rights reserved
<info@exept.de>
Doc $Revision: 1.3 $ $Date: 2012/03/01 13:05:09 $