- Make the simplest thing you can get away with.
- Don't make things more general than you need to.
- Don't make a system distributed if that's not a hard requirement.
- Use sqlite if you can get away with not having more than one machine.
- Use postgres if you cannot get away with having only one machine.
- Solve the problem you have, not the problem you hope to have.
- Write tests first. If you can't do that, you've probably made things too complex.
- Ban dangerous functions. Think twice before introducing exceptions.
- Know about WATs
- Remove every instance that you don't use.
- Before writing an instance, write a function. Then reconsider whether you still need an instance. (You probably don't.)
- Don't write an instance if you can't use it to write generic code.
- If your instance is not law-abiding, remove it.
- Write json instances manually, and have roundtrip tests.
- Don't use lenses. You don't need them.
- Choose an automated formatter, don't argue about which one, and enforce its use.
- Choose an automated linter and enforce its use.
- Use prefix naming:
data Thing = { thingField :: FieldType }
- Use as few languages extensions as you can get away with.
forked from NorfairKing/syds-rules-for-sustainable-haskell
-
Notifications
You must be signed in to change notification settings - Fork 0
ocharles/syds-rules-for-sustainable-haskell
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published