practicalli / practicalli/clojure
Project idea: purposeful alias names - a require aliases lookup website
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 117
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
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
- 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
- Self-contained ClojureScript Single Page Application with external data store (e.g. firebase, etc.) - Deployed on GitHub/GitLab pages
- ClojureScript REST API with Reitit with remote persistence store - deployed on GitHub/GitLab pages
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the issue body and compare the three proposed implementation options: a REST API, a self-contained ClojureScript SPA, or a ClojureScript REST API with Reitit. Define the project scope, persistence approach, and deployment target before implementation. Done means a library lookup returns purposeful and common aliases, rationale, and any recommended function references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- full-stack, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100