# 核心概念

URL: https://caijiao.org/radash/core-concepts
Source: docs/radash/core-concepts.md
Description: 为什么函数库如此出色？ 函数库的源代码易于阅读和理解

为什么函数库如此出色？


## 保持简单

### 可读性

函数库的源代码易于阅读和理解。我们不会让您浏览内部库模块和类，阅读数百行代码来理解一个函数的作用或工作原理。

例如，以下是 `_.compose` 函数的[源代码](https://github.com/rayepps/radash/blob/master/src/curry.ts#L11-L13)。

```ts
export const compose = (...funcs: Func[]) => {
  return funcs.reverse().reduce((acc, fn) => fn(acc))
}
```

就是这样...这就是整个函数。

### 半函数式

函数式编程有许多我们经常借鉴的出色设计模式。然而，我们并不是纯粹的函数式工程师。您不需要理解单子（monads）就能使用函数库。大多数函数库的函数是确定性的和/或纯的。

## 安全性

### 类型

函数库是用 TypeScript 编写的，并提供完整的类型支持。
