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

Starting Type-Driven Development

In this book, we are exploring the techniques and idioms available in type-driven development. Some people also refer to type-driven development as type-level programming. Static types offer several benefits, including:

  • Preventing incorrect code from getting a chance to run
  • Documenting the current codebase
  • Helping to correctly refactor the codebase by pointing out any parts of code you may have missed
  • Offering richer IDE support, for example, auto-completion
  • Better performance when the compiler knows types and can optimize code accordingly

Type-driven development is the practice of using static types to restrict what your code can do. Normally, your programming language gives you enough power to represent any computation. With type-driven development, you are essentially trying to make it impossible for your code to do undesirable things.

In this chapter, we will do some basic critical analysis of a piece of code and look at the possible errors it may contain. We'll also introduce ReasonML, the language we will use to learn type-driven development and compare it with JavaScript. We'll get started with a basic Reason project and then introduce Reason, as well as its related communities and ecosystems.

In this chapter, we will cover the following topics:

  • The main idea and benefits of type-driven development
  • Dynamically typed code versus its statically typed ReasonML equivalent
  • The Reason language, ecosystem, and related projects
  • How to set up a basic Reason project, which we will use throughout this book
  • The Try Reason online playground
主站蜘蛛池模板: 黑河市| 广南县| 泸西县| 大港区| 瑞安市| 井冈山市| 安庆市| 海城市| 琼结县| 安仁县| 固原市| 胶州市| 报价| 加查县| 将乐县| 灵丘县| 西藏| 泰宁县| 千阳县| 南宁市| 桦甸市| 阆中市| 滦平县| 花莲县| 桦南县| 龙里县| 阜南县| 桂阳县| 金昌市| 桦甸市| 天祝| 邵武市| 六枝特区| 安泽县| 新干县| 马尔康县| 兴国县| 衡阳县| 洪湖市| 珠海市| 高清|