10

What I'm doing now, writing a JS library for a simple kitchen timer (like, something that can be wound up, is ticking, can be paused, etc). Here's a list of neat stuff I've learned:

Polyfilling as a lib author (I decided against it).
Packaging the lib (using Rollup, ES6 modules are totes cool).
Using flow to add static typing in strategic places (started appreciating types in JS since reading up on functional programming).
Modelling state and transitions using an explicit state machine. (Fucking finally. There's usually an implicit state machine somewhere, only spread out all over the app...)
Using mostly side-effect free methods, being very explicit about when and why things are mutated).
Test-first/TDD (ish) using Jest and the awesome Wallabyjs.
Freeing up mental capacity by letting Prettier format my code for me (it was hard to let go but totally worth it).
Started using git.

Did all work on Ubuntu after pretty much a lifetime of Windows (initially to separate work from gaming) and finally swapped MS Visual Studio for Atom.

When it's finished I'm going to publish it on GitHub, which will also be a first for me. Might try out some CI platform while I'm at it.

tl;dr: wrote some js, felt good

Comments
  • 0
    @irene Yeah? It will be used internally by my next project and I want it to both work and be maintainable. Kinda like https://github.com/albert-gonzalez/... etc.
  • 0
    @irene Ohhh, I gotcha! I can see why that sentence is confusing now 😅 This is the first time I'm showing something to the public and there's always that feeling of not really knowing what the fuck you're doing so I felt horribly attacked lmao..✌️
Add Comment