exercism / exercism/javascript-analyzer

Incorrect Analysis: JavaScript analyzer makes little sense when a object literal is used

Open
#127 19 comments 0 reactions 1 assignee Claimed by @Steffe-Dev View on GitHub
good first issue help wanted x:action/improve x:knowledge/elementary x:module/analyzer x:size/small x:type/coding
Dominant language
TypeScript
Stars
16
Forks
21
Avg merge
6h 53m
Merged PRs (30d)
2

Description

**Describe the incorrectness**

I don't think the analyzers advice makes any sense here:

> Using a helper method is good practice, because it replaces a cryptic "member call" with a named call that can be documented individually.

The advice *assumes* a student is using an array - in which case there is complexity to hide and I agree a function as a named abstraction is useful, but in this case a well-named lookup table is serving the same purpose as a function, so the advice makes little sense.

**Which exercise**

Resistor Duo

**Source file(s)**

```js
export const decodedValue = (colors) => {
const resistorBands = {
black: 0,
brown: 1,
// ...
grey: 8,
white: 9
}
return resistorBands[colors[0]]*10 + resistorBands[colors[1]];

};
```

**Expected analysis**

None. (well at least not on this point)

- You could recommend destructuring of the arguments of course - which I would as a mentor.
- Hoisting the constant to a global.

**Additional context**

None.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.