You are on page 1of 5

Name: Usama Abbas

ID: S2019065006

Code Smells
• Inefficient Name
• Duplicated Code
• Deodorant Comment

Inefficient Name
These are five lines chosen at random from a class.
Each is grabbing a fetch result and putting it in a variable of type Account.
tmp = finder.fetch("0182901");
Account theAccount = finder.fetch(transaction.getSource());
(account = finder.fetch( new StateMatcher("VA") ):
for(Account item : finder.fetchAlI()) { ... }
getDrctn()
6NO PARKING
18:00 AM
TO 5:00 PM
Duplicated Code

INO PARKING
bRA NO PARKING
8:00 AM :00 8:00 AM
TO 5:00 PM 15:0
TO 5:00 PM
Duplicated Code
public class FormTag extends Node..
public String toPlainTextstring(){
StringBuffer textContents = new StringBuffer();
Enumeration = getAllNodesVector().elements);
for (;e. hasMoretlements();) {
StringNode stringNode = (StringNode) node;
textcontents.append(stringNode.getText());
}
return textContents.toString();
}
public class LinkTag extends Node..
public String toPlainTextString(){
StringBuffer sb = new StringBuffer();
Enumeration e = getLinkData().elements():

2) Deodorant Comment
public void add(Object element) (
if (!readOnly)
int newSize
size
1;
if
(newSize
elements.length) (
Grow the array
Object[] newElements
new Object[elements.length
+ 10].
for (int
i = 0;
i
size;
i++
newElementsti)
Elementstai:
elements = newElements;
elements[size++] = element;
7
public void add (Object element) {
if (!readOnly) (
int newSize
= size + 1;
if (newSize
S
elements.length) (
Comment Guidelines
Whenever possible make your code express
the intent of the comment and remove the
comment.
Comments are to provide intent that
is not expressible in code.
Any comment that duplicates what the code
3) Lazy Class
public abstract class Employee (
private it jobscompleted=
private inc jopskIp=,
public it jobscompletedcount()
return jobscompleted;
public it jobsskippedcount()
return jobsSkipped;
protected abstract EnumSet<Job» responsibilities();
public void performjob(Job job) (
if
(responsibilities).contains (job))
jobscompleted++;
alca
jobsSkipped++;
protected EnunSet<Job› responsiptlities
ROGRAM, J0D- INTEGRATE, JOD.DES
Dublie
Class Manager extends Employee
protected Enurserzoo
responsiblimeso
Job. MARKET. Job. SE
Lazy Class
public class Employee
private int
jobsCompleted
= 0:
private 1nt J005g1pped =
private EnumSet<Job› jobs:
public it jobsCompletedCount0 f
return jobsCompleted;
Employee constructor
public int jobsSkippedCount() (
turn iobsSkioped:
Construct a tmployee instance
puD11C tmployee(tina1 tnumset<Job> jobs)
this.1005 = jobs:
Passing Jobs in
Employee
constructor.
public void performJob(final Job job) {
if (this.jobs.contains (job))
jobsCompleted++;
Oddball Solution

You might also like