JavaScript 모범 사례 — 디자인 기능
본고에서 우리는 함수를 설계할 때의 가장 좋은 실천을 소개할 것이다.
기능 수준 설계
우리는 앞으로 쉽게 조작할 수 있도록 함수를 정확하게 설계해야 한다.
함수는 반드시 높은 내중성을 가지고 있어야 한다.이것은 우리가 모든 함수에 관련된 코드만 있기를 바란다는 것을 의미한다.
아무 상관없는 것이 있어서는 안 된다.
그러나 몇 가지 연결이 좋지 않다.
순차적 연결
그 중 하나는 순서 내집합이다. 이것은 함수 중의 모든 조작이 반드시 특정한 순서에 따라 진행해야 한다는 것을 의미한다.
예를 들어 우리는 출생일을 얻고 나이와 퇴직 시간을 계산하고 싶지 않다.
만약 우리가 이 두 가지 일을 동시에 하는 함수가 있다면, 우리는 그것들을 서로 다른 함수로 나누어야 한다.
교제 연결
교제의 연결은 또 다른 이상적이지 않은 연결이다.
같은 데이터를 사용하고 다른 방식으로 관련이 없는 함수는 하나의 함수에 있어서는 안 된다.
예를 들어, 만약 우리가 데이터를 기록하고 그들의 함수를 리셋한다면, 모든 조작은 반드시 그들의 함수에 있어야 한다.
시간 연결
시간 내 집합은 조작을 하나의 규칙에 통합시키는 것이다. 왜냐하면 그것들은 모두 동시에 완성되기 때문이다.
그것들은 우리가 상관없지만 동시에 실행해야 하는 코드를 포함하도록 격려한다.
이런 상황에서 우리는 상관없는 것들을 자신의 기능으로 분리해야 한다.그리고 주어진 시간에 실행해야 하는 낙하산 함수 아래에서 그것을 실행합니다.
예를 들어, 다음과 같이 작성할 수 있습니다.
const showSplashScreen = () => {
//...
}
const readConfig = () => {
//...
}
const startUp = () => {
showSplashScreen();
readConfig();
}
프로그램 연결
프로그램 연결도 안 좋아요.이것은 함수의 조작이 반드시 지정된 순서에 따라 진행해야 한다는 것을 의미한다.
이름, 주소, 전화번호를 얻는 함수와 같은 기능은 좋지 않다. 왜냐하면 그들은 실제로는 관련이 없지만, 같은 함수에서 실행되기 때문이다.
그것들을 각자의 함수에 분리해서 필요할 때 호출하는 것이 가장 좋다.
논리적 연결
논리적 내집합은 여러 개의 조작을 같은 함수에 넣고 전송된 제어 표지에서 선택하는 것을 말한다.
그것들은 서로 관련이 없기 때문에, 우리는 이 조작들을 모두 함수에 포함해서는 안 된다.
예:
const showSplashScreen = () => {
//...
}
const readConfig = () => {
//...
}
const doSomething = (option) => {
if (option === 'splash') {
showSplashScreen();
} else if (option === 'read-config') {
readConfig();
}
}
그러면 우리는 doSomething
함수가 있어서는 안 된다.중합 내중력
만약 함수의 조작이 서로 관계가 없다면, 이것은 우연한 내집합이다.
우리는 서로 상관없는 코드를 그들 자신의 함수에 분리해야 한다.
좋은 함수 이름
우리는 반드시 좋은 이름으로 함수를 명명해야 한다.함수를 명명할 때, 몇 가지 준칙을 따라야 한다.
함수가 하는 모든 것을 묘사하다
함수 이름은 함수의 기능을 묘사해야 한다.따라서 애플의 수를 계산한다면
countApple()
이라고 명명해야 한다.우리는 단지 한 가지 일만 하고 부작용을 피하는 기능이 있어야 한다. 그러면 우리는 명칭으로 모든 기능을 설명할 필요가 없다.
사진작가NordWood Themes우Unsplash
무의미하거나 모호한 동사를 피하다
우리는 함수 기능의 동사를 묘사해야 하기 때문에
perform
, process
또는 dealWith
같은 동사는 너무 모호하다.만약 함수가 어떤 물건을 계산하고 있다면, 그 이름에는 유사한 단어나 동의어가 있어야 한다.
함수 이름만 숫자로 구분하지 마십시오.
숫자 이름이 좋지 않다. 예를 들어
count
, countApples1
등은 모두 좋지 않다.그들은 이름으로 그들 사이의 차이를 구분하지 않는다.
함수 이름을 가능한 한 길게 하다
함수 이름은 가능한 한 길어야 하며, 그것이 하는 모든 것을 묘사해야 한다.
이렇게 하면 코드를 읽는 사람마다 명칭에서 함수의 작용을 알 수 있다.
반환값에 대한 설명을 사용하여 함수를 명명합니다
함수가 값을 되돌려준다면, 함수가 되돌려주는 모든 값으로 이름을 지어야 합니다.
countApples2
우리는 그것이 사과 수로 되돌아왔다는 것을 알고 있기 때문에 매우 좋다.결론
함수를 정의할 때, 우리는 읽기와 유지에 불리한 각종 연결을 피해야 한다.
그 밖에 우리는 묘사적인 명칭으로 함수를 명명해야 한다. 이 명칭들은 함수가 하는 모든 것을 묘사한다.
게시물JavaScript Best Practices — Designing Functions이 먼저 The Web Dev에 올라왔다.
Reference
이 문제에 관하여(JavaScript 모범 사례 — 디자인 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/javascript-best-practices-designing-functions-1ah6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)