aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2018-06-01 09:41:03 -0700
committerJakob Odersky <jakob@driver.xyz>2018-06-01 09:41:03 -0700
commitcc20365b7d5fc99fe2b089cf7071832e1404b29c (patch)
tree19a4a5b292bb4603815a13c39462df45aa77d36d
parent9b8337558b7c0ce51193fbd462ee3479e73d6d1f (diff)
downloadbest-practices-cc20365b7d5fc99fe2b089cf7071832e1404b29c.tar.gz
best-practices-cc20365b7d5fc99fe2b089cf7071832e1404b29c.tar.bz2
best-practices-cc20365b7d5fc99fe2b089cf7071832e1404b29c.zip
Add best practices for Scala
-rw-r--r--readme.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index b2888f7..88da1fc 100644
--- a/readme.md
+++ b/readme.md
@@ -101,3 +101,17 @@ Use `lint-staged` to auto-call prettier in a `precommit` "`script`":
## 🕸 Browsers 🕸
* Avoid supporting versions of Internet Explorer before IE11.
+
+## Scala
+
+* Formatting, style checking and linting is automated by [our common
+ build tool configuration](https://github.com/drivergroup/sbt-settings).
+
+* Start with simple code and abstract as it becomes necessary. Follow
+ the [Principle of Least
+ Power](http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html).
+
+* Avoid exposing library-specific types in shared code (such as Scalaz
+ etc). You're free to experiment with those libraries within
+ services, however a more conservative approach should be taken in
+ shared modules.