官术网_书友最值得收藏!

Innards of an Elixir Project

After looking at the building blocks in the past chapter, we will now explore the fundamental aspects of any Elixir project. There are a few rules that need to be followed, but fortunately every one of them is simple to adopt and contributes to an understandable project structure. An application that doesn't get in the way of the evolution and maintenance tasks during all its years in production is a joy for the people who work with it, and this is exactly what we aim for.

We will start by learning what an Elixir application is and how we can structure an Elixir project, along with some of the existing good practices that you can leverage. We will introduce Umbrella applications and how they can help you to define more rigid boundaries between your project's components. When creating our umbrella project, we will use some common scaffolding mix tasks, which let you quickly create an Elixir project from scratch. Afterward, we'll talk about ElixirDrip, a polished web file server that we'll be developing along this journey. Since we are setting the foundations of our application, we will also establish some rules and best practices regarding code style, using Credo, and the new Elixir 1.6 code formatter.

In this chapter, you will learn the following topics:

  • What an Elixir application is
  • How to structure an Elixir project
  • Different ways of specifying project dependencies
  • What an umbrella project is and how it can help to structure your projects
  • Using mix new to quickly get new projects up to speed
  • Laying the foundations of ElixirDrip, the project we'll develop throughout this book
  • Defining behaviours, to allow different behaviour implementations
  • Using xref to understand the dependencies between your project files
  • Establishing a consistent code style with Credo and the Elixir formatter
主站蜘蛛池模板: 乐至县| 拉萨市| 吐鲁番市| 罗定市| 天峨县| 镇沅| 札达县| 东安县| 乌兰浩特市| 武清区| 宜兰县| 瓦房店市| 油尖旺区| 神农架林区| 南陵县| 高雄市| 浦城县| 东乡| 桐乡市| 金阳县| 车险| 西华县| 营山县| 家居| 郯城县| 永靖县| 时尚| 夏津县| 景谷| 安国市| 明水县| 高密市| 岳阳市| 镇安县| 新津县| 大姚县| 石林| 牟定县| 宜宾县| 东方市| 白河县|