doc
This commit is contained in:
parent
c17136b052
commit
3ae3abf2e6
1 changed files with 22 additions and 21 deletions
39
README.md
39
README.md
|
|
@ -412,36 +412,37 @@ The namespace `babashka.curl` is a tiny wrapper around curl. It's aliased as
|
|||
A note on style. Babashka recommends the following:
|
||||
|
||||
- Only use `*input*` and aliases without an explicit require in bash one-liners.
|
||||
- Use an explicit namespace form in scripts.
|
||||
|
||||
Do this:
|
||||
Do this:
|
||||
|
||||
```
|
||||
$ ls | bb -i '(-> *input* first (str/includes? "m"))'
|
||||
true
|
||||
```
|
||||
``` shell
|
||||
$ ls | bb -i '(-> *input* first (str/includes? "m"))'
|
||||
true
|
||||
```
|
||||
|
||||
But not this:
|
||||
But not this:
|
||||
|
||||
script.clj:
|
||||
```
|
||||
(-> *input* first (str/includes? "m"))
|
||||
```
|
||||
script.clj:
|
||||
``` clojure
|
||||
(-> *input* first (str/includes? "m"))
|
||||
```
|
||||
|
||||
Rather do this:
|
||||
Rather do this:
|
||||
|
||||
script.clj:
|
||||
```
|
||||
(ns script
|
||||
script.clj:
|
||||
``` clojure
|
||||
(ns script
|
||||
(:require [clojure.java.io :as io]
|
||||
[clojure.string :as str]))
|
||||
(-> (io/reader *in*) line-seq first (str/includes? "m"))
|
||||
```
|
||||
```
|
||||
|
||||
Some reasons for this:
|
||||
Some reasons for this:
|
||||
|
||||
- Linters like clj-kondo work better with code that uses namespace forms, explicit requires, and known Clojure constructs
|
||||
- Editor tooling works better with namespace forms (sorting requires, etc).
|
||||
- Writing compatible code gives you the option to run the same script with `clojure`
|
||||
- Linters like clj-kondo work better with code that uses namespace forms, explicit requires, and known Clojure constructs
|
||||
- Editor tooling works better with namespace forms (sorting requires, etc).
|
||||
- Writing compatible code gives you the option to run the same script with `clojure`
|
||||
|
||||
## [Running a REPL](doc/repl.md)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue