代码风格和气味:嵌套类

时间:2017-11-23 10:07:54

标签: .net vb.net

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

简而言之,情况是我在一个单独的文件中有一个helpers类,它包含各种辅助方法和辅助类。在那里,我在类中的类中构造事物的原因是使它们的用法尽可能详细和可读,同时还保持事物在“级别”和层次结构中分组和组织,但有时我最终会使用很长的用法为:

helpers.Calendar.Periods.Semester.startDate

(那是class.class.class.class.property。我刚刚做了这个,但你明白了。)

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

2 个答案:

答案 0 :(得分:1)

有事实,有意见。

事实上,有一个名为Law of Demeter的东西(已在SO标签上出现)。根据是的,这是代码味道。

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

我们的姐妹网站上有相关讨论,例如this。询问具体的设计指南是否会对您有所帮助,可能会更好地放在那里。

答案 1 :(得分:0)

我正在做类似的事情,区别在于我正在做类似helpers.Calendar.semesterStartDate的事情。

即使有些时候它可能会令人讨厌,我也不认为它有气味。

此外,ist的结构将所有内容准确地放在与其相关的位置。如果我想查找一个学期的开始日期,我不会找startDate之类的内容,但我认为SemesterCalendar而不是helpers.Calendar.Periods.Semester.startDate类有关,真的在寻找{{1}}。

当然每个人都有自己喜欢的东西,但我不认为这样做是没有错的。

相关问题