practicalli / practicalli/clojure
Private vars (to defn- or not to defn-)
Open
Nobody has claimed this yet.
conventions
- Dominant language
- Makefile
- Stars
- 117
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
should we use private vars - pros and cons
- can be bypassed by
#'
if we should, how do we best define them
defn- is consise but a naming edge case (there will not be a def- or other functions ending in -
- some consider this too vauge
^:private is very explicit
- some consider this to verbose (a poor argument I feel)
- postfixed to end of the private var name
- e.g.
activity-total-spend- - is consice notation
- follows predicate style
- would show in any autocomplete system as its a naming convention
- as its a convention, it can be adopted by a team or ignored.
- it doesnt actually make the var private (but then private is quite a loose constraint in Clojure)
-p post-fixed to a var name
- aligned with elisp (lisp?) approach
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
No files, tests, or entry points are identified. Review the listed Clojure private-var conventions and the trade-offs around defn-, ^:private, trailing -, and -p; done would be a decided project convention with its rationale documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100