Work on the README for tone.

This commit is contained in:
Mike Thompson 2018-01-21 10:54:13 +11:00
parent 3f250534e8
commit ff7d3b4f0a
2 changed files with 28 additions and 22 deletions

View File

@ -11,21 +11,21 @@ application, allowing you to better understand it and debug it.
Four ways:
1. Help you to learn `re-frame`. If you are new to `re-frame`, looking at
the raw "Traces" it will assist you to understand the data flows involved
(the dominoes).
2. Help you to explore and learn an unfamiliar `re-frame` codebase.
When I click on this "X" button, it shows me what event is `dispatch`-ed
1. It helps you to learn `re-frame`. Simply looking at
the "raw traces" gives you some insight into how it operates. Even experienced
re-framians, er, like me, learned a lot.
2. It helps you to explore and learn an unfamiliar `re-frame` codebase.
When I click, over here, on this "X" button, it shows me what event is `dispatch`-ed
and in what namespace the associated event handler is registered. And,
"oh look, that's interesting - four subscriptions recalculated". Etc.
3. Help you with debugging. You see an x-ray of your app's functioning.
3. It helps you with debugging. You see an x-ray of your app's functioning.
In particular, it will assist you to write and debug
event handlers, which is useful because they hold most of the logic
in your `re-frame` apps.
4. Helps you to find performance problems and/or detect where there is
4. It helps you to find performance problems and/or detect where there is
unnecessary computation occurring.
> This list is aspirational. `re-frame-trace` remains a WIP. We're getting there.
> This list is currently aspirational. `re-frame-trace` remains a WIP. We're getting there.
### Epoch Oriented
@ -37,33 +37,39 @@ event to kick off the next iteration of the same cycle.
Each `re-frame` event and its consequent computation forms a bounded "epoch"
which can be inspected, analysed and understood independently of other epochs. This
tool is epoch-oriented.
tool is epoch-oriented - it shows you one at a time.
And, yes, it has "time travel debugger" capabilities - you can go backwards
and forwards through epochs - but that's really not the most interesting or powerful
aspect of what `re-frame-trace` delivers.
### It is about Data
### It Is All About The Data
As it runs, `re-frame` generates detailed "trace" which is captured as data, not strings.
This trace provides an x-ray of your app's functioning.
As it runs, `re-frame` logs "trace" as data, not strings.
This data trace provides an x-ray of your app's functioning.
In addition, re-frame is as much "data oriented" as it is functional in design.
It "flows" data, in a loop, through the functions you provide.
In addition, while re-frame is a functional framework, it is more
strongly defined by its "data oriented" design. `re-frame's` approach is
to "flow" data, in a loop, through the functions you provide.
At any point, to know what happened, you must know what data happened.
So, data is at the core of `re-frame-trace` and that's a powerful and leverageable substrate.
So, data is at the core of `re-frame-trace` in two ways
and that's a powerful and leverageable substrate.
### Data Dashboard
Except, there's often too much data - too much detail.
So, `re-frame-trace` tries to be something of a "dashboard" in the sense that
it tries to turn "raw data" into "information" through curated analysis, and "roll ups"
designed to deliver insight "at a glance". But still allowing you to "drill into the detail".
So, `re-frame-trace` tries to be something of a "dashboard" in the sense that
it tries to curate "raw data" into "information" through various kinds of analysis
and "roll ups". The goal is to deliver insight "at a glance", while still allowing
you to drill into the detail.
Right. So, this tool an epoch-oriented, interactive data dashboard for
gaining insights and assisting debugging. But, it is also a work in progress,
so these magnificent descriptions run well ahead of what is delivered right now.
Right. So, in summary, this tool an epoch-oriented, interactive data dashboard for
gaining insights and assisting debugging.
But, it is also a work in progress,
so my magnificent descriptions (above) run well ahead of what is delivered right now.
But we're getting there.

View File

@ -47,7 +47,7 @@ over time, within the browser.
You should probably have [React DevTools](https://github.com/facebook/react-devtools)
installed because it is useful. But, it can also add drag and noise to timing results,
so disable it when trying to get more accurate timing figures.
so disable it when trying to get more accurate timing figures.
Here is (React 16) advice on [debugging React performance with Chrome Devtools](https://building.calibreapp.com/debugging-react-performance-with-react-16-and-chrome-devtools-c90698a522ad)