The Instant Feedback Is Addicting #3834
xtopherbrandt
started this conversation in
Feedback
Replies: 1 comment 1 reply
-
Wonderful, thanks for the feedback! I've references this from a number of issues and will continue. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I find that I get addicted to developing in Dark. The instant feedback loop feeds my brain with dopamine is what made me fall in love with programming 40 years ago (wow C64s are that old :-) .
Because of my addiction I've created a bunch of different canvases and have a bunch of (good and bad) experience with Dark.
Pains
Copy and Paste
Copying and pasting code always feels like a gamble. Sometimes you have to rewrite the code because the pasted code get so mangled in the process.
Challenges & Ideas
Comparing functions side-by-side
Sometimes it's helpful to compare similar functions side-by-side. Efficient refactoring also benefits from visually comparing functions. Dark currently doesn't provide this ability.
Visualizing function maps
In addition to not being able to compare function code, there needs to be a way to visualize the dependencies between functions. This helps to see the dependencies and to help create consistent function interfaces. In my most recent project I've started using LucidChart to manually build out my map. This has made a huge difference in complexity, overlap and consistency of the functions in my project. Here's an example:
Ability to package
Paul has discussed this at length in his blog posts. It is needed.
Something akin to JSDocs
Currently the only way to document a function is to add a Let _ = "Some comment" to the top. Really need a documentation interface, which doesn't need to be part of the code frame. In my map example above I've started documenting each function with an intent, input and output.
Change Approval Process
Instant delivery is great, until production is broken. For large organizations to start using Dark, it will need the ability to gate code deployments to production. This is required for security standards such as PCI and ISO 27001 where code needs to deployed by someone other than the author. Typically the process includes code reviews and testing. It may mean the ability to have staging environments before production.
What's Awesome
Instant Delivery
Can't get enough of that dopamine.
Trace Driven Development
Being able to see the last bunch of calls to any function and observe the value of a function at any point in it's processing is HUGE.
Simplicity
Another reason why I'm so drawn to Dark is that it removes all of the complexity of building, hosting, deploying.... I can just write code and see it work.
Functional Programming First
I'm a big advocate of functional programming and Dark is perfect for it. It could be taken even further by highlighting functions (in the function map) that are pure functions and/or those that have side effects.
Beta Was this translation helpful? Give feedback.
All reactions