Skip to main content
Tidyverse design guide
Show table of contents
Table of contents
Welcome
1
Structure
2
Unifying principles
Implementation
3
Names attribute
4
Name details arguments
5
Function names
Interface: inputs
6
Avoid hidden arguments
7
Data, descriptors, details
8
Avoid dependencies between arguments
9
Case study: setNames()
Interface: default values
10
Required args shouldn’t have defaults
11
Case study: rep()
12
Enumerate possible options
13
Avoid magical defaults
14
Keep defaults short and sweet
15
Explain important defaults
16
User settable defaults
17
Case study: rgb()
Interface: ...
18
Data, dots, details
19
Making data with …
20
Dot prefix
21
Inspect the dots
22
Case study: mapply() vs pmap()
Interface: outputs
23
Returning multiple values
24
Type-stability
25
Vectorisation
26
Side-effect functions should return invisibly
Interface: errors
27
Error call
28
Error constructors
Interface: changes
29
Work with multiple dependency versions
Interface: side effects
30
Side-effect soup
31
Spooky action
Appendix
A
Glossary
View book source
A
Glossary
31
Spooky action
On this page
A
Glossary
View source
Edit this page