This repository has been archived by the owner on Jul 19, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathreact_outline.yaml
408 lines (372 loc) · 10.8 KB
/
react_outline.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
# the survey outline
# First level: blocks
# Second level: questions (will use the block's question template if no template is specified)
---
### FEATURES ###
- template: statictext
id: features_intro
title: >
"For each of the following features, please pick one of the following options:
\n- 🤷 You've never heard about it, or are not sure what it is
\n- ✅ You've heard about it but *haven't* used it
\n- 👍 You've used it"
- title: Language
description: Which of these language features do you use?
template: feature
questions:
- Conditional/Ternary Operator
- Destructuration
- Inline If with Logical && Operator
- title: Hooks
description: Controlling how the user interacts with the page.
template: feature
questions:
- useState
- useEffect
- useContext
- useReducer
- useCallback
- useMemo
- title: Lifecycle
description: Controlling how the user interacts with the page.
template: feature
questions:
- getDerivedStateFromProps()
- componentDidMount()
- shouldComponentUpdate()
- getSnapshotBeforeUpdate()
- componentDidUpdate()
- componentWillUnmount()
- title: Other Features
description: Other React features.
template: feature
questions:
- React.PureComponent
- React.memo
- createElement()
- createFactory()
- cloneElement()
- React.createRef
- React.lazy
- defaultProps
- displayName
### PATTERNS ###
- title: Class Components vs Functional Components
description: How do you write your components?
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- I prefer using class components as much as possible.
- I don't have a preference.
- I prefer using functional components as much as possible.
- title: Dependency Injection
description: Which dependency injection patterns do you use?
questions:
- title: Higher-Order Components
template: rating
- title: renderProps
template: rating
- title: Hooks
template: rating
### TECHNOLOGIES ###
- template: statictext
id: tools_intro
title: >
"For each technology, please pick one of the following options:
\n- 🤷 You've never heard about it, or are not sure what it is
\n- ✅ You've heard about it and you *want* to learn it
\n- 🚫 You've heard about it, but *don't want* to learn it (or are *unsure*)
\n- 👍 You've used it and *want* to use it again
\n- 👎 You've used it but *don't* *want* to use it again"
- title: State Management
description: How you manage your application state.
template: tool
id: statemanagement
questions:
- Context
- Redux
- MobX
- Apollo-link-state
- Unstated
- Relay
- other
- title: Routing
description: Routing inside your app.
template: tool
id: routing
questions:
- React Router
- Reach Router
- other
- title: Testing
description: How you test your app.
template: tool
id: testing
questions:
- Jest
- other
- title: Animation
description: How you animate your interface.
template: tool
id: animation
questions:
- React-Motion
- React-Spring
- other
- title: CSS
description: CSS-in-JS and other methods.
template: tool
id: css
questions:
- Styled Components
- Glamor
- Aphrodite
- JSS
- Styled-JSX
- Radium
- Emotion
- CSS Modules
- Sass
- Less
- Plain CSS
- other
- title: API
description: How your app gets its data.
template: tool
id: api
questions:
- GraphQL
- REST
- Firebase
- other
- title: Back-end
description: How you bundle and/or serve your app.
template: tool
id: backend
questions:
- Create React App
- Next.js
- Gatsby
- Meteor
- Node.js
- other
- title: Types
description: Type systems to make your code more predictable.
template: tool
id: types
questions:
- TypeScript
- Flow
- other
- title: UI Libraries
description: Ready-made component libraries.
template: tool
id: methodologies
questions:
- React-Bootstrap
- Reactstrap
- Material UI
- other
- title: Forms
description: Form generating and handling.
template: tool
id: methodologies
questions:
- TypeScript
- Flow
- other
- title: Other Platforms
description: React-adjacent platforms.
template: tool
id: methodologies
questions:
- React Native
- Reason
### OTHER TOOLS ###
- title: Other Tools
description: For these tools & technologies, just check the ones that you use regularly.
questions:
- title: Text Editors
description: Which text editor(s) do you regularly use?
template: multiple
allowmultiple: true
allowother: true
randomize: true
options:
- VS Code
- Sublime Text
- Atom
- Vim
- Emacs
- Webstorm
### RESOURCES ###
- title: Resources
description: What React resources do you consult?
questions:
- title: Blogs & Magazines
description: Which CSS-related blogs/magazines/etc. do you read?
template: multiple
allowmultiple: true
allowother: true
randomize: true
options:
- CSS Tricks
- Smashing Magazine
- A List Apart
- CoDrops
- SitePoint
- title: Sites & Courses
description: Which CSS-related sites/courses/etc. do you consult?
template: multiple
allowmultiple: true
allowother: true
randomize: true
options:
- Stack Overflow
- MDN
- W3Schools
- The CSS Specs
- FreeCodeCamp
- Codecademy
- LevelUp Tutorials
- Wes Bos Courses (GSSGrid.io, Flexbox.io, etc.)
- Pluralsight
- title: Podcasts
description: Which CSS or programming-related podcasts do you listen to?
template: multiple
allowmultiple: true
allowother: true
randomize: true
options:
- Shop Talk Show
- Style Guide Podcast
- The Big Web Show
- The Web Ahead
- Non Breaking Space Show
- The Changelog
- Syntax
### OPINIONS ### // TODO
- title: Opinion Questions
description: How do you feel about the state of CSS?
questions:
- title: CSS is easy to learn
template: opinion
- title: CSS is evolving too slowly
template: opinion
- title: Utility (non-semantic) classes (.center, .large-text, etc.) should be avoided
template: opinion
- title: Selector nesting (.foo .bar ul li {...}) should be avoided
template: opinion
- title: CSS is a programming language
template: opinion
- title: I enjoy writing CSS
template: opinion
- title: What do you feel is currently missing from CSS?
description: Features you'd like to see in CSS one day.
template: longtext
# - title: CSS is moving in the right direction
# template: opinion
### DEMOGRAPHICS ###
- title: About You
description: Let's get to know the real you.
questions:
- title: Years of Experience
description: How long you've been writing CSS.
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- Less than one year
- 1-2 years
- 2-5 years
- 5-10 years
- 10-20 years
- 20+ years
- title: Job Title
description: How do you introduce yourself at parties?
template: multiple
allowmultiple: false
allowother: true
randomize: false
options:
- Front-end Developer/Engineer
- Full-stack Developer/Engineer
- Back-end Developer/Engineer
- Web Designer
- UI Designer
- UX Designer
- title: JavaScript Proficiency
description: How proficient are you at JavaScript development? (pick the most advanced option corresponding to your skills)
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- I am not able to write any JavaScript
- I can write short, simple JavaScript or jQuery statements
- I can work on existing front-end codebases using modern frameworks (React, Vue, etc.)
- I can architecture entire front-end codebases from scratch
- I can handle advanced front-end patterns (state management, data loading, etc.)
- title: Back-end Proficiency
description: How proficient are you at back-end development? (pick the most advanced option corresponding to your skills)
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- I am not able to handle any back-end work
- I can set up all-in-one CMSs (WordPress, etc.) or static site generators (Jekyll, etc.)
- I can develop apps using pre-existing frameworks (Rails, Laravel, etc.)
- I can set up an entire back-end from scratch (Go, Node, etc.)
- title: Company Size
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- Just me
- 1-5 people
- 5-10 people
- 10-20 people
- 20-50 people
- 50-100 people
- 100-1000 people
- 1000+ people
- title: Yearly Salary
description: In USD
template: multiple
allowmultiple: false
allowother: false
randomize: false
options:
- I work for free :(
- $0-$10k
- $10k-$30k
- $30k-$50k
- $50k-$100k
- $100k-$200k
- $200k+
- title: How did you find out about this survey?
template: text
- title: Your Gender
template: multiple
allowmultiple: false
allowother: true
options:
- Female
- Male
- Non-binary/ third gender
- Prefer not to say
- title: Your Email
description: If you'd like to be notified when survey results are available. Your email won't be used for any other purpose.
template: email
- title: Your Country
template: text
- title: Your City
template: text
- title: Other Comments
description: Things we missed, feedback on the survey, your favorite color, etc.
template: longtext