Catalogue

Listing of smells (30)

Table of smells and affected qualities

Smell Accessibility Efficiency Energy Efficiency Memory Efficiency Security Stability Startup Time User Conformity User Experience
Bulk data transfer on slow network
Data Transmission Without Compression
Debuggable Release
Dropped Data
Durable WakeLock
Early Resource Binding
Inefficient Data Structure
Inefficient SQL query
Inefficient data format and parser
Internal Getter/Setter
Interrupting from background
Leaking Inner Class
Leaking Thread
Member-Ignoring Method
Nested Layout
Network & IO operations in main thread
No low memory resolver
Not descriptive UI
Overdrawn Pixel
Prohibited data transfer
Public data
Rigid AlarmManager
Set config changes
Slow Loop
Tracking Hardware Id
Uncached Views
Unclosed closable
Uncontrolled focus order
Unnecessary permission
Untouchable

Table of smells and the contexts they belong to

Smell Database IO Implementation Network UI
Bulk data transfer on slow network
Data Transmission Without Compression
Debuggable Release
Dropped Data
Durable WakeLock
Early Resource Binding
Inefficient Data Structure
Inefficient SQL query
Inefficient data format and parser
Internal Getter/Setter
Interrupting from background
Leaking Inner Class
Leaking Thread
Member-Ignoring Method
Nested Layout
Network & IO operations in main thread
No low memory resolver
Not descriptive UI
Overdrawn Pixel
Prohibited data transfer
Public data
Rigid AlarmManager
Set config changes
Slow Loop
Tracking Hardware Id
Uncached Views
Unclosed closable
Uncontrolled focus order
Unnecessary permission
Untouchable

Table of refactorings and affected qualities

Refactoring Accessibility Efficiency Energy Efficiency Memory Efficiency Responsiveness Security Stability Startup time Usability User Conformity User Experience
Add Data Compression to Apache HTTP Client based file transmission
Aquire WakeLock with timeout
Check background data transfer
Check network connection
Close Closable
Control focus order
Direct Field Access
Enhanced For-Loop
Flatten Layouts
Inexact Alarmmanager
Introduce Run Check Variable
Introduce Static Class
Introduce Static Method
Introduce Weak Reference
Move Resource Request to Visible Method
No wakeup Alarmmanager
Override onLowMemory Efficiency()
Remove Debuggable Attribute
Remove startActivity() from background
Save instance state
Set content description
Set private mode
Use Efficient Data Structure
Use JSON query
Use StrictMode
Use activity intent
Use convertView
Use efficient data parser and format
Use fragments for configuration change
Use unique generated Id
View Holder