## good practices ### [code](https://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code--net-8118) - Commenting and Documentation - Consistent Indentation - Avoid Obvious Comments - Code Grouping - Consistent Naming Scheme - camelCase - under_scores - [**DRY**](https://thefullstack.xyz/dry-yagni-kiss-tdd-soc-bdfu) (Don't Repeat Yourself) or [**DIE**](https://thefullstack.xyz/dry-yagni-kiss-tdd-soc-bdfu) (Duplication is Evil) principle - [**KISS**](https://thefullstack.xyz/dry-yagni-kiss-tdd-soc-bdfu) (Keep It Simple Stupid) - [**YAGNI**](https://thefullstack.xyz/dry-yagni-kiss-tdd-soc-bdfu) (You Aren’t Gonna Need It) - [**SOC**](https://thefullstack.xyz/dry-yagni-kiss-tdd-soc-bdfu) (Separation of Concerns) - Avoid Deep Nesting - Handling errors - Limit Line Length - File and Folder Organization - Consistent Temporary Names - Separation of Code and Data - Code Refactoring ### Go - [**Go**](https://golang.org/doc/effective_go.html) - [**gofmt**](https://golang.org/cmd/gofmt/) - [**goimports**](https://godoc.org/golang.org/x/tools/cmd/goimports) - [**foimports vs gofmt**](https://goinbigdata.com/goimports-vs-gofmt/) ### Dockerfile - [**Dockerfile**](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/)