userName, userAge
UserName, UserAge
strUserName, iUserAge
user_name, user_age
user-name, user-age
class MenuItem {
/* Method name duplicates the context (which is "MenuItem") */
handleMenuItemClick = (event) => { ... }
/* Reads nicely as `MenuItem.handleClick()` */
handleClick = (event) => { ... }
}
// Bad
let isEnabled = itemCount > 3
return <Button disabled={!isEnabled} />
// Good
let isDisabled = itemCount <= 3
return <Button disabled={isDisabled} />
let lastName = 'Kim';
const SECONDS = 60;
class UserInformation {
constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
getUserName = () => {
return `${this.firstName} ${this.lastName}`;
}
}
let isVisible = false;
let hasEncryption = true;
A/HC/LC Patternμ μλμ κ°μ ν¨ν΄μΌλ‘ ν¨μ μ΄λ¦μ λͺ λͺ νλ λ°©λ²λ‘ μ΄λ€. μ½κ² λ§ν΄, ν¨μκ° νλ μΌμ λμ¬(Action) + λͺ©μ μ΄(Context)λ‘ κ΅¬μ±ν κ²μΈλ°, μ’ λ λͺ νν ννμ μν΄ Contextλ₯Ό High Contextμ Low Contextλ‘ λλ μ μλ€.
prefix? + action (A) + high context (HC) + low context? (LC)
Name | Prefix | Action |
---|---|---|
getUser | get | |
getUserMessages | get | |
handleClickOutside | handle | |
shouldDisplayMessage | should | Display |
ν¨μ μ΄λ¦μ λμ¬ λΆλΆμΌλ‘ ν¨μκ° μννλ μμ μ μ€λͺ νλ€.
function getFruitCount() {
return this.fruits.length
}
function fetchPosts(postCount) {
return fetch('https://api.dev/posts', {...})
}
let fruits = 0
function setFruits(nextFruits) {
fruits = nextFruits
}
setFruits(5)
console.log(fruits) // 5
const initialFruits = 5
let fruits = initialFruits
setFruits(10)
console.log(fruits) // 10
function resetFruits() {
fruits = initialFruits
}
resetFruits()
console.log(fruits) // 5
function removeFilter(filterName, filters) {
return filters.filter((name) => name !== filterName)
}
const selectedFilters = ['price', 'availability', 'size']
removeFilter('price', selectedFilters)
function deletePost(id) {
return database.find({ id }).delete()
}
function composePageUrl(pageName, pageId) {
return (pageName.toLowerCase() + '-' + pageId)
}
function handleLinkClick() {
console.log('Clicked a link!')
}
link.addEventListener('click', handleLinkClick)
ν¨μλ 무μΈκ°μ λν λμμ΄κΈ° λλ¬Έμ ν¨μκ° μλ κ°λ₯ν λλ©μΈμ΄ 무μΈμ§μΈμ§ μ μ΄λ μμλλ λ°μ΄ν°νμ 무μμΈμ§ λͺ μνλ κ²μ΄ μ€μνλ€.
boolean
boolean
boolean
)μ λ°μ, function fetchPosts() {
let prevPosts = this.state.posts
let fetchedPosts = fetch('...')
let nextPosts = concat(prevPosts, fetchedPosts)
this.setState({ posts: nextPosts })
}
μ°Έκ³ λ¬Έμ,
https://skyksit.tistory.com/entry/Javascript-Naming-Convention-λͺ λͺ -κ·μΉ,
https://github.com/kettanaito/naming-cheatsheet#ahclc-pattern