3 ms·
I don't want to sound too harsh and I hope you take this the right way but I have to say it clearly: That README you have is worse than useless. I bet it active
by genezeta 1y ago
I don't want to sound too harsh and I hope you take this the right way but I have to say it clearly: That README you have is worse than useless. I bet it actively pushes people away from your project. The problem is there's just too much in that README that shouldn't be there and then... what should be there isn't.
So what shouldn't be there? Well, most of it. You don't need a whole section of "Advantages over other frameworks" and then a table comparing to other frameworks.
You don't need most of the overview you have. Just picking something random: there's a full table with methods of Q.event. These are details; it's simply too much information that is not helpful to someone who wants a general overview of your project. The same can be said for most of the stuff there. The section on templates is useless for a README: It shows some very specific details (like the fact that there's a Q.Template.load.options.dir) without actually showing a real-world example, because foo, bar, baz, Some/name, and the code actually shown is all synthetic and abstract.
And that's the other problem: It's generic info. And so we get to what the README is missing: A simple, complete, minimal, working example.
And, yes, you end up the README with "Putting it all together", I know. But again, it's an abstract and generic thing. It shows a bunch of code ideas just thrown together for the shake of showing them. Even the comments in that code say things like "you could do this", "you could do that". It doesn't really help.
What you really need is something like a counter and two buttons to increment/decrement, or an input box and a list that gets filtered as you type, or whatever. Something silly and small... but complete and working. You don't need to show off all the features in that example. Just make sure that the code in the example clearly represents the typical way you'd write it and that you can hopefully keep it under 20-25 lines. Make it so simple and self-explanatory that you don't need to add many comments or any at all if possible. Ideally, make it so that you can actually just put that code into CodePen/JSFiddle/JSBin/CodeSandbox/Plunker/WhateverYouPrefer and then link it with "See this example live".
Again, it won't show all the features available and that is fine. But it will give the reader a fairly good idea of the general approach and the feel of using your framework. Because right now, with so much information the README gives a feeling that your framework it's anything but small, that is something complex with lots of abstract options and ways of doing things.
- EGreg 1y agoWould this be more along the lines of what you might want: https://qbix.com/platform/guide/javascript https://qbix.com/platform/guide/javascript
- chrisandchris 1y agoNot OP, vut take a look at Zustand: https://zustand-demo.pmnd.rs https://zustand-demo.pmnd.rs . IMHO one of the best ways I've seen to showcase a library. It's simple, understandable and even reproducable (code is all there).
- zenmac 1y agoOr just jump to package.json then you know all the deps and what you really dealing with here.
- genezeta 1y agoNo, sorry, not at all. That's a guide and so it has more details. What I was saying is that the README, in a way, needs less details. Also, that guide still makes the same mistake of using generic examples and names. It's full of foo, 'bar', someOtherEvent, First.onConnect('something', 'here').handle(arg1, arg2), etc and that's not really how you should write documentation.
- EGreg 1y agoAlright, so the README and documentation should really just have a ton of links to jsfiddle examples? That seems like it would be very useful, indeed.
- genezeta 1y agoNo, I didn't say that. The README should have one -two, at most- simple but representative and complete example. An example that shows actual usage of something simple enough to be small. See the examples I suggested above. As a companion to that, you can put that same code in JSFiddle and link to it in the README, but keep both the code and link in the README. As for the documentation, what I said is that the code shown should always be good code, code where names make sense. You may or may not make the effort of putting full JSFiddle examples into your documentation, but the code that you put in the docs should use meaningful names.