代码风格和气味:嵌套类



由于我的工作方式,我发现自己将类嵌套在几级以下的类中,我想知道它是否可以被视为代码异味,如果是这样,是否有更好的方法来设计它。

简而言之,情况是我在单独的文件中有一个helpers类,其中包含各种帮助程序方法和帮助程序类。在那里,我在类中的类中构建事物的原因是使它们的用法尽可能详细和可读,同时将事物分组和组织在"级别"和层次结构中,但有时我最终会得到很长的用法,例如:

helpers.Calendar.Periods.Semester.startDate

(这是class.class.class.class.property.我只是编造了这个,但你明白了。

这样做是"错误"的吗?有没有更好的方法来实现这一目标?

有事实,也有意见。

事实上,有一种叫做得墨忒耳定律的东西(已经出现在SO标记的得墨忒耳定律上)。根据这个是的,这是一种代码气味。

但是,您是否要遵循那里给出的建议是您的决定。它有优点和缺点,将它们相互权衡并得出结论是基于意见的,我们在这里不这样做。

在我们的姐妹网站上有相关的讨论,就像这样。询问特定的设计指南是否会对您有所帮助可能更好。

我正在做类似的事情,不同的是我正在做类似namespace.namespace.namespace.namespace.class的事情。

我不认为它有味道,即使它可能会很烦人。

此外,ist的结构将所有内容都精确地放在与之相关的地方。如果我想找到一个学期的开始日期,我不是在寻找类似helpers.Calendar.semesterStartDate的东西,而是我认为startDateSemester有关,而不是Calendar类,并真正寻找helpers.Calendar.Periods.Semester.startDate

当然,每个人都对这样的东西有自己的品味,但我认为这样做并没有错。

最新更新