lib/surgex/guide/guide.ex
defmodule Surgex.Guide do
@moduledoc """
Official style guide for Elixir and Phoenix projects at Surge Ventures.
**NOTE: Deprecated in favor of https://github.com/surgeventures/elixir.**
The rules in this guide aim to provide a consistent, convention-driven coding experience and an
easily readable, long-term maintainable code as a result. It's divided into the following modules:
- `Surgex.Guide.CodeStyle`: basic code style and formatting guidelines
- `Surgex.Guide.SoftwareDesign`: higher level application design and engineering guidelines
Here's what you can expect from this guide:
- **Elixir-friendly experience:** rules are written as Elixir functions with `@doc` clauses and
compiled by ExDoc to a documentation easily browsable by anyone familiar to HexDocs
- **One-line summary for each rule:** each rule's `@doc` starts with a descriptive one-line
summary, which is compiled into a clean list of rules (the *Summary* section)
- **Reasoning for every rule:** it's only fair to make the reasoning behind the rules clear for
those who use them and leave the door open for discussions and improvements
- **Examples for every rule:** even for the simplest rules, an examples of proper and inproper use
are provided in order to make it clear what it's all about in a matter of seconds
Above all rules, use your common sense to solve every coding situation in a way that's consistent,
readable and maintainable. Follow your instincts and keep making this guide better in places where
it lacks.
"""
end