Currently I think you can use `function(grunt) {...}` or `function (grunt) {...}` and it won't complain.
If you want to require a space after the `function` keyworld and the opening bracket, then I believe we can modify the .jscs.json file and add "function" to the  `requireSpaceAfterKeywords` array:

`"requireSpaceAfterKeywords": ["if", "else", "for", "function", "while", "do", "switch", "return"],`

And then  you should see a few errors/warnings:

```
Running "jscs:app" (jscs) task
Missing space after `function` keyword at Gruntfile.js :
     3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     4 |
     5 |module.exports = function(grunt) {
---------------------------------^
     6 |  'use strict';
     7 |
Missing space after `function` keyword at bin/server.js :
     6 |const server = require('../lib/server').create();
     7 |
     8 |server.start(function() {
-----------------------------^
     9 |  logger.info('Server started at:', server.info.uri);
    10 |});
Missing space after `function` keyword at lib/server.js :
    17 |
    18 |  // response logging
    19 |  server.on('response', function(req) {
----------------------------------------^
    20 |    logger.info(
    21 |      '%s %s - %d (%dms)',
>> 3 code style errors found!
Warning: Task "jscs:app" failed. Use --force to continue.
```

Not sure about the opposite. Not sure if you can specify a rule for make sure it's always `function()` with no space. If there is a way it should be on https://github.com/mdevils/node-jscs. I'd just have to quickly experiment with it and make sure it supports named and anonymous functions.

About named functions specifically, I think there is a slight conflict with naming anonymous functions for stack trace purposes. I think JSHint will report that function as unused since you don't always use the function name since it has two names (assuming you didn't name them the same thing). That probably made no sense and I even got lost in that terrible explanation.

![](http://www.quickmeme.com/img/bd/bd8b40f6104828a3ba1c55f49560df16a95f365802f0b53be374065c860141c2.jpg)