clojure icon indicating copy to clipboard operation
clojure copied to clipboard

Project idea: purposeful alias names - a require aliases lookup website

Open practicalli-johnny opened this issue 4 years ago • 0 comments

A website where a library name can be entered and it returns the recommended alias to be used in an ns (:require ,,,) form.

Rationale Whilst extremely common libraries that appear in the vast majority of projects can have more cryptic aliases, because they are well used. Most libraries should express the intent of their use to help the code remain clear and unambiguous

Concept A website with a simple library lookup which returns purposeful names that can be used for an alias. A description of why the alias name was chosen, explaining how it captures the purpose / intent of the functions in that library

Results would also mention highly common aliases that are used, such as d for datomic alongside the purposeful names, so developers can have a choice. Either use a cryptic alias and assume others are aware of its purpose

Recommendations for some libraries would include referring specific functions instead of (or as well as) using an alias, e.g. clojure.test typically refers [is deftest testing]. This result would also include a description as to why this approach is preferred, as the namespace is focused on the use of this library - i.e. writing a test

Implentation options

  1. REST API so that a range of clients could be used (webUI, editor, command-line tool, etc) with persistence store (or remote store) - deployed on Heroku
  2. Self-contained ClojureScript Single Page Application with external data store (e.g. firebase, etc.) - Deployed on GitHub/GitLab pages
  3. ClojureScript REST API with Reitit with remote persistence store - deployed on GitHub/GitLab pages

practicalli-johnny avatar Jul 30 '21 08:07 practicalli-johnny