function skip(key, value) {
            // We don't care about anonymous functions as
            // those should be enforced by separate rule
            if (!value.id) {
                return true;
            }

            // Relax a bit when reserved word is detected
            if (reservedWords.check(key, file.getDialect(), true)) {
                return true;
            }
        }
Requires function names to match member and property names.

It doesn't affect anonymous functions nor functions assigned to members or
properties named with a reserved word. Assigning to `module.exports` is also
ignored, unless `includeModuleExports: true` is configured.

Types: `Boolean` or `Object`

Values: `true` or Object with `includeModuleExports: true`

#### Example

```js
"requireMatchingFunctionName": true
```

##### Valid

```js
var test = {};
test.foo = function foo() {};
```

```js
var test = {};
test['foo'] = function foo() {};
```

```js
var test = {foo: function foo() {}};
```

```js
module.exports = function foo() {};
```

```js
module['exports'] = function foo() {};
```

##### Invalid

```js
var test = {};
test.foo = function bar() {};
```

```js
var test = {};
test['foo'] = function bar() {};
```

```js
var test = {foo: function bar() {}};
```

```js
var test = {module: {}};
test.module.exports = function foo() {};
```

#### Example

```js
"requireMatchingFunctionName": { "includeModuleExports": true }
```

##### Invalid

```js
module.exports = function foo() {};
```

```js
module['exports'] = function foo() {};
```