Coding style 什么';oop中更好的编码方式是什么:一种方法有一个参数,而两种方法没有参数?
从oop的角度来看,干净代码的更好方法是什么?有两个名称不同的相关方法,还是一个带有额外参数的通用方法 (简化)示例: 1.Coding style 什么';oop中更好的编码方式是什么:一种方法有一个参数,而两种方法没有参数?,coding-style,standards,Coding Style,Standards,从oop的角度来看,干净代码的更好方法是什么?有两个名称不同的相关方法,还是一个带有额外参数的通用方法 (简化)示例: 1.public void LogError(){…} public void LogWarning(){…} VS 2.公共无效日志(LogType LogType){…}//LogType.Error vs LogType.Warning两者都是不错的选择。也许举几个例子可以更清楚地说明这一点。通常,我会想谁会使用这个库(我或其他人)以及我使用什么编程语言 例如: publ
public void LogError(){…}
public void LogWarning(){…}
VS
2.
公共无效日志(LogType LogType){…}//LogType.Error vs LogType.Warning
两者都是不错的选择。也许举几个例子可以更清楚地说明这一点。通常,我会想谁会使用这个库(我或其他人)以及我使用什么编程语言
例如:
public void SaveProduct(bool cache) { ... }
如果我使用Java、C等强类型语言,那么我更喜欢选择2
如果我使用PHP或Python之类的其他工具,那么我更喜欢选择1
例如,如果我想为其他要使用我的库的开发人员制作一个简化的界面,那么我也更喜欢选择1
例如,当您使用LogTypeenum时,这其实并不重要。试着想想如何描述意图并把它说清楚
注意布尔参数,它们可能会让人困惑很多次。例如:
public void SaveProduct(bool cache) { ... }
在这些情况下,选择1通常更好,因为很难理解布尔值的作用。(它是如何改变行为的)另外,它通常告诉我们该方法正在执行两个不同的操作,因此可能有一种方法可以重构它。例如,将其拆分为两个方法,然后开发人员就不需要知道实现细节