A small, idiomatic starting point is a pure named-exported function with validation, a named constant, and a JSDoc comment: ```js const MAX_NAME_LENGTH = 80; /** * Normalizes a display name so callers receive one predictable representation. * @param {string} value * @returns {string} */ export function normalizeName(value) { if (typeof value !== 'string') { throw new Error('name must be a string'); } const name = value.trim(); if (name.length === 0 || name.length > MAX_NAME_LENGTH) { throw ne...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill javascript-best-practices --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Javascript Best Practices?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-javascript-best-practices-4ca2d598)More formats (shields.io, HTML) on the badges page.
A small, idiomatic starting point is a pure named-exported function with validation, a named constant, and a JSDoc comment:
```js
const MAX_NAME_LENGTH = 80;
/**
* Normalizes a display name so callers receive one predictable representation.
* @param {string} value
* @returns {string}
*/
export function normalizeName(value) {
if (typeof value !== 'string') {
throw new Error('name must be a string');
}
const name = value.trim();
if (name.length === 0 || name.length > MAX_NAME_LENGTH) {
throw new Error('name has an invalid length');
}
return name;
}
```
Naming: use `camelCase` for functions and variables, `PascalCase` for classes, and `UPPER_SNAKE` for constants. Keep this entity in its own file and re-export it by name from `index.js`; avoid global state, magic numbers, deep nesting, default exports, and hidden side effects.
Comments: add JSDoc to public APIs and explain why a non-obvious rule exists, rather than repeating what the code already says. Handle async failures explicitly when the example grows to call external services.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!