gpt4 book ai didi

java - 命名不同内容的最佳实践(Ex :String and byte) which has similar reference(Ex:name)

转载 作者:行者123 更新时间:2023-12-01 09:03:34 25 4
gpt4 key购买 nike

这是我最近在工作的遗留代码中遇到的一个简单的最佳实践问题。我找不到针对这个特定问题的良好引用,因为我们可以通过多种方式来实现这一目标。但是,我想知道实现这一目标的最佳和最有效的方法。下面我创建了一些发现,希望得到其他人的意见,以了解命名具有相似引用的不同内容的最佳方式。

示例 1

String name = "Thushara";
byte[] nameByte = toBytes(name);

示例 2

String nameStr = "Thushara";
byte[] nameByte = toBytes(nameStr);

示例3

String strName = "Thushara";
byte[] byteName = toBytes(strName);

我知道不会有一个标准来实现这一点。因此,我想知道从可维护性或其他我不知道的角度来看,做到这一点的最佳方法。

<小时/>

更新

  • 迄今为止的最佳解决方案
String name = "Thushara"; 
byte[] nameBytes = toBytes(name);

最佳答案

最好的做法是避免做出这样的决定。

如果您需要命名代表同一实体的不同类型的不同对象,则必须重新考虑您的代码。最有可能的是存在设计问题。为什么在同一范围内需要它们?您不能将需要 byte[] 的逻辑提取到单独的方法/类中吗?你能用多态性来解决这个问题吗?也许您可以简单地内联调用?

一般规则是命名变量更接近您拥有的域模型。 byteName 不携带任何有值(value)的信息,它应该表明出现了问题。

唯一的异常(exception)是单元测试。显然,如果您为 toBytes() 方法编写单元测试,您将面临这个问题。但即使在这种情况下,您也可以命名对象输入输出预期实际等。

一旦你思考这个问题,你就会想到如何摆脱这个问题。

关于java - 命名不同内容的最佳实践(Ex :String and byte) which has similar reference(Ex:name),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41476576/

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