Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 2.72 KB

RUBRIC.md

File metadata and controls

73 lines (52 loc) · 2.72 KB

HANGMAN RUBRIC

1=Beginner, 2=Proficient, 3=Master

PROJECT LEARNING GOALS

Rating Content Description
Variables Variable names are logical, clear, and in snake case. Variables are not needlessly assigned or reassigned (variable examples).
Loops Loops control the flow of the code, keeping the user on track, and continuing the program until an appropriate end point.
Strings Strings are used and manipulated (compared, concatenated) correctly to prevent any errors in game scoring, game play, and drawing the board.
Conditionals & Operators Logical and mathematical operators guide program flow efficiently and properly deal with edge cases (operator/conditional examples).
Methods Methods are designed and implemented with a single purpose. Methods are logically named in snake case.
Classes Classes are used to represent a single object, and contain all of the functionality and information associated with that object.

Examples

Variables

# Good:
post_height = 7.0
user_name = gets.chomp

# Bad:
p = 7
ph = '7.0'
postHeight = 77

Conditionals & Operators

x = 2

# Good:
if x < 2
  result = "x is less than 2"
elsif x > 2
  result = "x is greater than 2"
else
  result = "x is exactly 2"
end

puts result

# Bad:
if x < 2
  result = "x is less than 2"
elsif x > 2
  result = "x is greater than 2"
end

puts result

CODE QUALITY

Rating Skill Description
Correctness Code runs without errors or bugs. Edge cases are tested for and handled appropriately.
Readability Formatting is consistent. Naming conventions are followed. Use of white space and tabs are consistent. Code is concise. Each group of statements creates a complete thought and those thoughts are separated by blank lines. Variable, method and class names are meaningful.
Structure Methods perform one, and only one, function. Blocks of code that are run multiple times are not cut-and-pasted, but instead are written as loops and functions. Variables are not duplicated unnecessarily.
Efficiency There is no unused code included.
Comments Comments accurately describe code logic and are placed before or on the line they describe. Comments are either: information that can’t be expressed in code, intent comments, or summary comments.

###OVERALL RATING

###COMMENTS