356

May 26th, 2021 × #Naming#Editors#Themes

Bike Shedding — Developer Opinions Explained

Wes Bos and Scott Tolinski discuss controversial developer opinions including naming conventions, code editors, themes, exports, and more.

or

In this episode of Syntax, Scott and Wes bike shed some common developer opinions.

Prismic - Sponsor

Prismic is a Headless CMS that makes it easy to build website pages as a set of components. Break pages into sections of components using React, Vue, or whatever you like. Make corresponding Slices in Prismic. Start building pages dynamically in minutes. Get started at prismic.io/syntax.

LogRocket - Sponsor

LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It's an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

Mux - Sponsor

Mux Video is an API-first platform that makes it easy for any developer to build beautiful video. Powered by data and designed by video experts, your video will work perfectly on every device, every time. Mux Video handles storage, encoding, and delivery so you can focus on building your product. Live streaming is just as easy and Mux will scale with you as you grow, whether you're serving a few dozen streams or a few million. Visit mux.com/syntax.

Show Notes

04:27 - Event params

  • e, evt, ev, or event?

06:36 - CSS variables

  • —red or —primary?

09:31 - CSS colors

11:52 - Default exports vs named exports

14:45 - JavaScript import ordering

17:09 - Foo / Bar / Baz in examples

21:18 - Light vs dark themes

24:00 - longVerboseNamesDescribingWhatItIsOrDoes vs x

26:54 - VScode vs WebStorm (IDE) vs Vim

31:12 - TypeScript Generics: vs

34:39 - Indentation-base syntax

37:37 - Max line length

40:21 - One reduce, vs multiple .map()/flat(),filter()

async function getStatus() {

  const res = await sendCommand('AT!GSTATUS');

  const result = res.result
    .split('\n')
    .map((x: string) => x.split(`\t\t`))
    .flat()
    .filter(Boolean)
    .map((x: string) => x.trim())
    .map((x: string) => x.split(`    \t`))
    .flat()
    .filter((x: string) => x.includes(':'))
    .map((x: string) => x.split(`:`))
    .map(([prop, val]: [string, string]) => [prop, val.trim()])

  return Object.fromEntries(result);
}

42:50 - index.js files

48:20 - Ligatures and fancy fonts

50:30 - Regular functions vs anon functions in a variable vs arrow functions

  • function hey() {}
  • const hey = function() {}
  • const hey = () ⇒ {}

52:44 - Explicit return vs implicit return

××× SIIIIICK ××× PIIIICKS ×××

Shameless Plugs

Tweet us your tasty treats!

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window