Best Practices Checklist
Table of Contents
What is this?
This is a collection of language specific resources that can be used to look up the best practices followed by a particular language's community.
Why does this repo exist?
I dabble into multiple programming languages and I wanted to have a central place that I can refer to whenever I am looking up best practices for a particular language.
What counts as an acceptable entry?
It could be anything from articles to books to videos that describes:
- how to write idiomatic code in a particular language
- what build systems / package managers to use and the best practices surrounding these aforementioned tools
- how to good write unit/integration tests
- different styles, design patterns & idioms of a language
- new language section (if you find that the resources for your favourite language are missing feel free to create a new section and add them)
Note: If you are adding a book to the list make sure that it is a free ebook. Amazon links to buy books will not be accepted.
Language Specific Resources
Rust
- Elements of Rust
- Rust Language Cheat Sheet
- Rust Cookbook
- Rust By Example
- Cargo Guide
- Idiomatic Rust
- Unsafe Code Guidelines
- Rust Performance Book
- Rust Fuzz Book
Go
- Google's Go Style Guide
- Clean Go
- Idiomatic Go - Sourcegraph
- Idiomatic Go - by dmitshur
- Go package style guide by Rakyll
- Go Advice
- Domain Driven Design in Go
- Effective Go
- How to Write Go Code
- The Uber Go Style Guide
- Golang Standards
- Advanced Testing Patterns Talk
Python
- Hitchhiker's Guide to Python
- Python API Checklist
- Design Patterns Implementations
- PEP8
- Elements Of Python Style
- Design Patterns Toptal Blog Post
- Google Python Style Guide
- Mozilla Style Guide
- Python style guide (Fuchsia)
Ruby
- RSpec Best Practices
- Letโs Read! โ Eloquent Ruby
- Ruby Style Guide
- Best Ruby
- Fast Ruby - Idioms for writing performant code
OCaml
Haskell
Erlang
- Spawned Shelter (a list of various Erlang resources)
- Erlang Patterns (the site is no longer accessible but one can read the md files in the repo)
Elixir
Common Lisp
CSharp
- Open-source library guidance
- C# Programming guide
- .NET Microservices: Architecture for Containerized .NET Applications
- C# Coding conventions
- Unit testing in .NET Core and .NET Standard
- Google C# Style Guide
- ASP.NET Core Performance Best Practices
FSharp
Java
Scala
Groovy
Kotlin
D
Clojure
Nim
Pony
Javascript
- Eloquent Javascript
- You Don't Know JS
- JS: The Right Way
- Google JavaScript Style Guide
- Mozilla Style Guide
- An AngularJS Style Guide for Closure Users at Google
- Airbnb Style Guide
C
C++
Dart
SQL
Objective-C
Swift
R
Shell
HTML/CSS
Vimscript
XML
Zig
- TODO once zig hits
v1.0
and someone actually writes up the best practices.
Prolog
- TODO