As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center作为指导。
                            
                        
                    
                
                                已关闭8年。
            
                    
惰性类(即执行得很少的类)的可量化定义是什么?在您看来,一个班级需要多少种方法才能成为懒惰?一个只有构造函数,getter和setter的类会被视为懒惰吗?还是算作数据类?

我了解在处理这些问题时没有严格的规定,但是我很想听到不同民族的意见。

最佳答案

我认为此网站(从Wiki链接到)具有良好的定义:Code Smell Taxonomy


  Dispensable气味的共同之处在于它们都代表不必要的东西,应从源代码中删除它们。
  
  该组包含两种类型的
  气味(必要的类别和
  可有可无的代码),但由于它们
  违反相同的原则,我们将
  一起看他们。如果一个班级是
  做得不够
  删除或它的责任需要
  增加。情况就是这样
  惰性类和数据类
  闻起来。未使用或正在使用的代码
  多余的需要删除。这是
  重复代码的情况下,
  投机性和死代码
  闻起来。


如果一个类只有一个空的构造函数以及每个变量的getter和setter方法,那么我认为这是一个惰性类。从本质上讲,类似的类似乎违反了封装(尽管从技术上讲,表示形式可能会更改,同时仍能容纳所有先前定义的get方法)。至少对于类来说,提供它们的实例的不变性是好事(在多线程程序中)。显然,某些模式(例如依赖于DTO的模式)需要“数据类”(空构造函数和所有)。我想这意味着答案是“取决于”,这就是为什么我们要进行代码审查。

10-06 12:06