Ghost

struxadotcloud/struxa

public
Fork0
CodeIssues0Pull requests0
1branch
struxa.claudeskillsvercel-react-best-practicesrulesjs-early-exit.md
initial commitd4cb9e15 months ago50 lines · 1.1 KB
1---
2title: Early Return from Functions
3impact: LOW-MEDIUM
4impactDescription: avoids unnecessary computation
5tags: javascript, functions, optimization, early-return
6---
7
8## Early Return from Functions
9
10Return early when result is determined to skip unnecessary processing.
11
12**Incorrect (processes all items even after finding answer):**
13
14```typescript
15function validateUsers(users:
16 let hasError =
17 let errorMessage =
18
19 for (const user
20 if (!user.email
21 hasError = true;
22 errorMessage = "Email required"
23 }
24 if (!user.name
25 hasError = true;
26 errorMessage = "Name required"
27 }
28 // Continues checking all users even after error found
29 }
30
31 return hasError ?
32}
33```
34
35**Correct (returns immediately on first error):**
36
37```typescript
38function validateUsers(users:
39 for (const user
40 if (!user.email
41 return { valid:
42 }
43 if (!user.name
44 return { valid:
45 }
46 }
47
48 return { valid:
49}
50```
User
[]
)
{
false
;
""
;
of
users
)
{
)
{
;
)
{
;
{
valid
:
false
,
error
:
errorMessage
}
:
{
valid
:
true
}
;
User
[]
)
{
of
users
)
{
)
{
false
,
error
:
"
Email required
"
}
;
)
{
false
,
error
:
"
Name required
"
}
;
true
}
;