Today I Learned

hashrocket A Hashrocket project

Readable code with objects, constants & attributes

Occasionally when working with external APIs, you need to send over some cryptic status:

  { status: 2 }

But what does 2 mean?!

We can use objects to make this a bit easier to maintain

const STATUS = { processing: 0, error: 1, completed: 2 }

  { status: STATUS.completed }

Now we can immediately see the order status is completed.

This technique is applicable in other languages as well:

Ruby with a constant:

STATUS = { error: 0, processing: 1, completed: 2 }

Elixir as a module attribute

defmodule Order do
  @status %{error: 0, processing: 1, completed: 2}

  def completed, do: @status.completed
See More #javascript TILs
Looking for help? At Hashrocket, our JavaScript experts launch scalable, performant apps on the Web, Android and iOS. Contact us and find out how we can help you.