malli icon indicating copy to clipboard operation
malli copied to clipboard

General typography question: `Entity`, `entity?`, `entity-schema`?

Open piotr-yuxuan opened this issue 3 years ago • 2 comments

Hello, thanks for this very well-thought tool!

The README of this lib usually names schemas like Address, Age, but also abcd, my-schema, and obviously a datum schema can be named int? or boolean?. The style guide of @bbatsov talks about types and suggests CapitalCase. Would we have some general rules of thumb when it comes to naming conventions for malli schemas?

If I were to suggest some, I would go for:

  • A schema for atomic datum is a predicate -> datum? (but not all predicates are for schema);
  • A schema for datastructure is akin to a data type / shape, not very different from Java objects -> DataStructure;
  • Names like my-address are for functions, or constant, and my-order-schema denotes a function returning a schema for some order, where the schema can be tweaked based on fn arguments.

It may or may not look like bikeshedding, sorry for that 😅

Cheers! 👍

piotr-yuxuan avatar Jun 04 '21 14:06 piotr-yuxuan

Thanks. Sounds about what I have though about it. Also registry references should have a naming guide.

Just wrote the function schema guide and was wondering what is a good name for a function schema. Ended up with =>plus, which is far from perfect.

ikitommi avatar Jul 16 '21 14:07 ikitommi

I would suggest that plus-schema denotes a function returning a schema, but I agree it is far from perfect, albeit kind of explicit.

piotr-yuxuan avatar Oct 25 '21 11:10 piotr-yuxuan