Ed *_* S. 12
这样的事情呢?
public IEnumerable<Newsletter> GetActiveNewsletters(int maxRecords = 5)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
前5名仍然是默认值,但它不再过于具体.
我个人避免将"五"字加入名称的原因是它可能意味着什么.
例如,如果以后在某些情况下需要10个新闻简报而不是5个?好吧,你要创建一个额外的方法GetTenActiveNewslettersByCreatedDate().现在,您有一个"设计模式",后续开发人员将在需要20,50,100个简报时遵循这些模式.这是一个会腐烂的设计,你现在可以通过参数化五个来阻止它.
当然,这可能是YAGNI /投机的普遍性.如果5真的是某种神奇的,坚硬的,永远不会改变规则,那么你可能会小心翼翼地把它烘进去.我只是发现我后悔做了这么远的事情,往往更多.
为了避免这种特定的命名,我会考虑使该方法通用。就像是:
GetNewsLetters(int amount, bool onlyActive, SortOrder orderBy)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |