gpt4 book ai didi

Java : Removing unwanted characters of an object with clean code

转载 作者:行者123 更新时间:2023-12-01 17:49:30 26 4
gpt4 key购买 nike

我有一个从表单中检索到的对象。它可能包含一些不需要的字符,例如“/n”。我想删除它们。我找到了一种方法,但我很确定可以用更干净、更短的方式来实现?

List<Client> clients1 = pc.getClients();
List<Client> clients2 =new ArrayList<Client>();

if (clients1 != null) {
for (Client tc : clients1) {
tc.setClientId(tc.getClientId().replaceAll("\\p{C}", ""));
tc.setClientName(tc.getClientName().replaceAll("\\p{C}", ""));
tc.setCallFirstName(tc.getClientFirstName().replaceAll("\\{C}",""));
clients2.add(tc);
}
}

pc.setClients(client2)

有什么建议吗?对我来说,这个问题的重点是学习如何编写更好的代码。

最佳答案

“干净的代码”答案将围绕 Tell, don't ask 构建。原理。

在您的情况下:您首先从 Client 对象获取(询问!)某些属性,对其进行更改,重新设置属性。

为什么不去告诉客户端tc.normalizeFields()或类似的东西?!

含义:不要让另一个类清理 Client 类的字段,而是将所有代码放入 Client 类本身!并有一种方法可以在内部处理所有需要“清理”的领域。这样,当添加或删除字段时,不需要更改其他类。每次添加/删除/更改字段时,您显示的代码都需要更新。

当您的 Client 类更多的是 bean/data 事物(仅携带数据,没有任何特定行为,也称为它自己的方法)时,那么您应该考虑使用单独的 ClientNormalizerService为您封装这项工作的类。

关于Java : Removing unwanted characters of an object with clean code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51963057/

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