gpt4 book ai didi

language-agnostic - 在类名中使用动词

转载 作者:行者123 更新时间:2023-12-04 04:44:02 25 4
gpt4 key购买 nike

我正在阅读 Robert C. Martins 的书 Clean Code。他写了一个约定,在类名中不使用动词。

我目前正在做的项目需要验证和处理一些 xml,所以我创建了这样的东西

public class XmlProcesser
{
public XmlProcesser(string filePathAndName)
{
}

public bool Validate()
{
}
}

但是 Bobs 大叔的建议是不要在类名中使用“Processor”。

但我应该怎么称呼它? Xml 不好,因为我在代码中大量使用 .net 类 xml。我想过 XmlHandler 但我想这比 Processor 更糟糕,因为“处理程序”对程序员来说是别的东西。

你好吗?你在类(class)名称中使用动词吗?

最佳答案

命名很重要。哎呀,T.S.艾略特和安德鲁·劳埃德·韦伯从《猫的名字》中发了大财。但 Martins 的观点不是关于不使用动词——而是关于面向对象的思维。类是用于实例化对象的模式。对象就是事物。相似的事物是用它们的行为还是用它们的名字来描述更好?

我是肉食动物吗?是的。但我也写程序。我是程序员吗?是的。但我也投票给奥巴马。我是奥巴马的支持者吗?是的。但是......最终,我是一个人。更准确地说,我是 class[1] HomoSapiensSapiens 的一个实例.和 HomoSapiensSapiens有很多很多很多方法,所有这些方法都有类似动词的名字。赞 HomoSapiensSapiens.EatBacon() .赞 HomoSapiensSapiens.WriteGoodCode() .赞 HomoSapiensSapiens.VoteDemocratic() .等。

Martin 的重点是 如果你的类最好像动词一样命名,那么你认为你的类都是错误的。

[1] OO中的“class”,不是Kingdom/Phylum/Class的生物学意义。

关于language-agnostic - 在类名中使用动词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com