doc
This commit is contained in:
parent
c17136b052
commit
3ae3abf2e6
1 changed files with 22 additions and 21 deletions
43
README.md
43
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:
|
A note on style. Babashka recommends the following:
|
||||||
|
|
||||||
- Only use `*input*` and aliases without an explicit require in bash one-liners.
|
- Only use `*input*` and aliases without an explicit require in bash one-liners.
|
||||||
|
- Use an explicit namespace form in scripts.
|
||||||
|
|
||||||
Do this:
|
Do this:
|
||||||
|
|
||||||
```
|
``` shell
|
||||||
$ ls | bb -i '(-> *input* first (str/includes? "m"))'
|
$ ls | bb -i '(-> *input* first (str/includes? "m"))'
|
||||||
true
|
true
|
||||||
```
|
```
|
||||||
|
|
||||||
But not this:
|
But not this:
|
||||||
|
|
||||||
script.clj:
|
script.clj:
|
||||||
```
|
``` clojure
|
||||||
(-> *input* first (str/includes? "m"))
|
(-> *input* first (str/includes? "m"))
|
||||||
```
|
```
|
||||||
|
|
||||||
Rather do this:
|
Rather do this:
|
||||||
|
|
||||||
script.clj:
|
script.clj:
|
||||||
```
|
``` clojure
|
||||||
(ns script
|
(ns script
|
||||||
(:require [clojure.java.io :as io]
|
(:require [clojure.java.io :as io]
|
||||||
[clojure.string :as str]))
|
[clojure.string :as str]))
|
||||||
(-> (io/reader *in*) line-seq first (str/includes? "m"))
|
(-> (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
|
- 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).
|
- Editor tooling works better with namespace forms (sorting requires, etc).
|
||||||
- Writing compatible code gives you the option to run the same script with `clojure`
|
- Writing compatible code gives you the option to run the same script with `clojure`
|
||||||
|
|
||||||
## [Running a REPL](doc/repl.md)
|
## [Running a REPL](doc/repl.md)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue