Previously we have seen how “Storybook Driven Development” helped us to build better user interfaces at Ouicar. In this part we will install React Storybook and see how it can help us to build a simple registration form.
The yield
and async
notations aim to improve the code readability in asynchronous JavaScript and iterators. In this article, we attempt to present these notations through the concepts of monad and continuation. From there we show how yield
and async
are closely related.
By Luc Dachary
Say hello to OuiCar’s bang!
If you have no idea about what a bang is, you may be interested in the DuckDuckGo search engine’s documentation page.
Provided by DuckDuckGo, this feature allows you to easily and quickly reach a website very own search form. As an example, if you wonder like me “who could Steve Jobs possibly be?”, here is how you would ask Wikipedia about it:
!w Steve Jobs
At Ouicar, we don’t like bugs.
As we explained through our previous posts, we use many tools like Flow or our Story Book, to help us developing a high-quality product and decrease as much as possible the risks of crashes.
However, even though we test our software as much as we can and we try to explore all the cases we imagine, we have been facing many bugs on the client side.
What kind of bugs did we encounter
Most of the bugs we encountered were un-tested cases, that we had not anticipated. For example, a google map library used when the internet connection was shut down, or a null pointer exception
when someone indicates he lives at an address that doesn’t have a street number…
At Ouicar, our frontend code is composed of more than an hundred of React Components (Calendars, DatePickers, Registration Forms, Collapsible Menu, etc…). As our application grows, documenting and testing our UI becomes more and more tedious.
In order to improve the testability of our Components, we decided to build a tool that allows us to isolate and test each component independently. This practice has been democratized by the React Storybook project from Arunoda Susiripala.
This approach gives multiple advantages:
- the developer productivity is increased,
- the code is cleaner,
- a better communication with Designer and QA.