50
Do code smells hamper novice programmers?

Do Code Smell Hamper Novice Programmers?

Embed Size (px)

Citation preview

Page 1: Do Code Smell Hamper Novice Programmers?

Do code smells hamper novice programmers?

Page 2: Do Code Smell Hamper Novice Programmers?

Do code smells hamper novice programmers?

Felienne Hermans Efthimia

Aivaloglou

Page 3: Do Code Smell Hamper Novice Programmers?

Do code smells hamper novice programmers?

Felienne Hermans Efthimia

Aivaloglou

@Felienne

Page 4: Do Code Smell Hamper Novice Programmers?

Code smells matter to devs

Page 5: Do Code Smell Hamper Novice Programmers?

Do code smells matter to kids?

Page 6: Do Code Smell Hamper Novice Programmers?

Do code smells matter to kids?

Page 7: Do Code Smell Hamper Novice Programmers?

Sprites

Page 8: Do Code Smell Hamper Novice Programmers?

Scripts

Page 9: Do Code Smell Hamper Novice Programmers?

Each sprite can have scripts

Page 10: Do Code Smell Hamper Novice Programmers?

Do code smells matter to kids?

Page 11: Do Code Smell Hamper Novice Programmers?

A simple game

Page 12: Do Code Smell Hamper Novice Programmers?

Version N

Page 13: Do Code Smell Hamper Novice Programmers?

Version L

Page 14: Do Code Smell Hamper Novice Programmers?

Version D

Page 15: Do Code Smell Hamper Novice Programmers?

Version D

Page 16: Do Code Smell Hamper Novice Programmers?

Version D

Page 17: Do Code Smell Hamper Novice Programmers?

Wait what?

Page 18: Do Code Smell Hamper Novice Programmers?

Version D

Page 19: Do Code Smell Hamper Novice Programmers?

Version D

Page 20: Do Code Smell Hamper Novice Programmers?

Version D

Page 21: Do Code Smell Hamper Novice Programmers?

Version N

Page 22: Do Code Smell Hamper Novice Programmers?

Version L

Page 23: Do Code Smell Hamper Novice Programmers?

The experiment

Page 24: Do Code Smell Hamper Novice Programmers?

The experiment

61 kids20 x N20 x L21 x D

Page 25: Do Code Smell Hamper Novice Programmers?

Hour 1:Scratch Intro

Lesson

Page 26: Do Code Smell Hamper Novice Programmers?

Hour 2:Pong experiment

Page 27: Do Code Smell Hamper Novice Programmers?

Task types

Page 28: Do Code Smell Hamper Novice Programmers?

Task types

Explanation

Page 29: Do Code Smell Hamper Novice Programmers?

Task types

“What does this

code do?”

Explanation

Page 30: Do Code Smell Hamper Novice Programmers?

Task types Understandi

ng

Page 31: Do Code Smell Hamper Novice Programmers?

Task types Understandi

ng

“When have you lost this

game?”

Page 32: Do Code Smell Hamper Novice Programmers?

Task types

Modification

Page 33: Do Code Smell Hamper Novice Programmers?

Task types

Modification

“Make the game go until

10 pts”

Page 34: Do Code Smell Hamper Novice Programmers?

Do code smells matter

to kids?

Page 35: Do Code Smell Hamper Novice Programmers?

tl;drYes

Page 36: Do Code Smell Hamper Novice Programmers?

tl;drYes

Kids performed significantly better on the non-smelly program

Page 37: Do Code Smell Hamper Novice Programmers?

tl;drYes

But, there were differences

between the tasks!

Page 38: Do Code Smell Hamper Novice Programmers?

Let’s have a closer look!

Explanation is unaffected by

the presence of smells

Page 39: Do Code Smell Hamper Novice Programmers?

Version N

“What does this code

do?”

Page 40: Do Code Smell Hamper Novice Programmers?

Version L

“What does this code

do?”

Page 41: Do Code Smell Hamper Novice Programmers?

Let’s have a closer look!

Understanding seems affected

more by the Long Method

smell

Page 42: Do Code Smell Hamper Novice Programmers?

Version N

“When have you won the

game?”

Page 43: Do Code Smell Hamper Novice Programmers?

Version L

“When have you won the

game?”

Page 44: Do Code Smell Hamper Novice Programmers?

Let’s have a closer look!

Modification is hampered most by Duplication

Page 45: Do Code Smell Hamper Novice Programmers?

Version N

“Make the game go to 10 points”

Page 46: Do Code Smell Hamper Novice Programmers?

Version N

“Make the game go to 10 points”

Page 47: Do Code Smell Hamper Novice Programmers?

Version D

Page 48: Do Code Smell Hamper Novice Programmers?

Version D

Page 49: Do Code Smell Hamper Novice Programmers?

Version D

Page 50: Do Code Smell Hamper Novice Programmers?