A programming language that compiles into JavaScript, offering more concise and readable syntax while maintaining full JavaScript compatibility.
77
{
"context": "This evaluation assesses how well the engineer uses CoffeeScript's advanced language features—specifically bound methods (fat arrow =>), super calls for inheritance, and comprehensions for filtering—to implement a task management system. The focus is entirely on proper usage of these CoffeeScript-specific features.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Bound methods syntax",
"description": "Uses fat arrow (=>) syntax correctly on TaskManager methods (addTask, getTasksByStatus, getHighPriorityTasks, getTasksDueSoon, completeTask) to automatically bind them to the instance context",
"max_score": 25
},
{
"name": "Class inheritance",
"description": "TaskManager correctly extends BaseManager using CoffeeScript's 'extends' keyword to establish inheritance relationship",
"max_score": 10
},
{
"name": "Super call usage",
"description": "Uses 'super' or 'super.log()' to call the parent BaseManager's log method from within TaskManager methods",
"max_score": 20
},
{
"name": "Comprehension filtering",
"description": "Uses CoffeeScript comprehensions (e.g., 'task for task in @tasks when condition') to filter tasks in getTasksByStatus, getHighPriorityTasks, and getTasksDueSoon methods",
"max_score": 30
},
{
"name": "Guard conditions",
"description": "Uses 'when' clauses in comprehensions to express filtering conditions (e.g., 'when task.status is status' or 'when task.priority is 3')",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-coffeescriptevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10