请教Banq和大家个设计问题

08-12-18 fortry
    

Banq大大:

因为我最近在搞单元测试,发现公司项目代码的类里面有大片大片的private方法,导致其对测试不友好。我就浏览了下JDON源代码,发现都是PUBLIC的方法,还没看到PRIVATE的方法。

是因为我没看到,还是因为JDON的都是PUBLIC方法?这个体现出什么样的设计思路呢?

我刚接触JDON,所以对其不熟悉,请谅解。

[该贴被fortry于2008-12-18 00:13修改过]

    

IceQi
2008-12-18 13:05

除了类的作者不应该有人关心private的部分。如果发现大量的需要被测试的private函数,恐怕是类相关的设计问题了,或者就是业务分析过程出现了问题。

另外建议全部使用protected代替private

saharabear
2008-12-18 17:33

我的建议:包内功能用默认的,为了变化可以用protected,public的都有接口,private的让类作者自己处理。

freebox
2008-12-18 18:28

同意楼上,其实我很不喜欢IDE生成类和生成接口的方式一样,都默认public,我用到的大部分类都只是包内可见的。

fortry
2008-12-18 23:24

我公司里的领域逻辑类里面有大片大片的private方法,而看到JDON的类里面很少出现private方法,所以在反思是公司的代码设计上有问题(如抽象度不够等),还是复杂的领域逻辑类本来就是这样。

我倒是觉得改为package的或者protected的话,对测试比较友好。

大家似乎都不建议方法作用域写成private,为什么?

[该贴被fortry于2008-12-18 23:26修改过]

3Go 1 2 3 下一页