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

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
主站蜘蛛池模板: 万盛区| 建德市| 花垣县| 江北区| 乾安县| 鹿泉市| 蒲江县| 高邮市| 清镇市| 乌兰察布市| 印江| 松潘县| 淳化县| 林芝县| 赣州市| 临泽县| 宁国市| 凉城县| 牙克石市| 星子县| 平潭县| 抚松县| 甘谷县| 蒲江县| 莆田市| 沛县| 黄山市| 庆云县| 宁都县| 玛纳斯县| 长海县| 晋宁县| 河西区| 云安县| 卢氏县| 军事| 克东县| 昌吉市| 广昌县| 姚安县| 德惠市|