Javascript 代码可读性:单个文件中有多个错误类?

Javascript 代码可读性:单个文件中有多个错误类?,javascript,node.js,eslint,code-readability,Javascript,Node.js,Eslint,Code Readability,我尝试创建一个包含错误类的文件。当某人需要自定义错误类时,该文件应该是所需的文件,该类应位于catch块中 代码片段如下所示 class FooError extends Error { constructor() { this.name = 'FooError'; } } class BarError extends Error { constructor() { this.name = 'BarError'; } } mod

我尝试创建一个包含错误类的文件。当某人需要自定义错误类时,该文件应该是所需的文件,该类应位于
catch
块中

代码片段如下所示

class FooError extends Error {
    constructor() {
        this.name = 'FooError';
    }
}

class BarError extends Error {
    constructor() {
        this.name = 'BarError';
    }
}

module.exports = FooError;
module.exports = BarError;
我应该这样使用错误:

async function doSomething() {
    const requestResult = await doRequest();
    if (requestResult.error) {
        const errorName = requestResult.error.name;
        if (errorName === 'Foo') { throw new FooError('some error message #1'); }
        if (errorName === 'Bar') { throw new BarError('some error message #2'); }
        throw new Error('unhandled error');
    }
    return requestResult.data;
}
但是eslint抱怨说,最好是每1个文件创建1个类,这是可以理解的,因为多个包含逻辑的类会很快阻塞它,使其可读性成为一场灾难

但是,如果这个错误类每个都需要一个文件,我觉得这是一种过分的杀伤力。更不用说在一个文件夹中有很多这样的文件时,逐个维护这些文件一点也不有趣

来自ruby,我通常将这些错误类放在一个文件中,因为它只是一个1行程序,rubocop似乎也不会对此抱怨

有什么想法吗?我正在考虑禁用这个特定文件的规则,虽然我不知道这是否是最好的

如果我这样做,从其他人的角度来看,可读性会受到影响吗

如果是这样的话,有没有更好的方法来以更好的方式组织它,而不为每个错误类创建一个文件


提前谢谢。

我认为两个类有两个文件并不过分。我认为类的大小甚至不应该成为确定类可以在一个文件中还是在单独的文件中的标准

假设您只需要另一个类中的一条错误消息。您想要的方式基本上需要整个文件,而您只需要一个


<>你可以考虑创建一个用于错误的文件夹,并将所有的类都放在单独的文件中。然后有一个导出这些类的索引文件。

我投票以基于意见的方式关闭它,但FWIW我的意见是,它可能很好。把一堆相关的错误类放在一起对我来说完全有意义。