使代码更具可读性
Posted
技术标签:
【中文标题】使代码更具可读性【英文标题】:Making a code more readable 【发布时间】:2012-07-02 03:02:36 【问题描述】:我的应用程序中有两个名称相同的类,我无法重命名它们,其中一个来自 packageA,第二个来自 packageB,这个类的名称是 State,我必须在我的程序中的一个地方使用它,例如这个:
Map<Integer,Set<org.omg.PortableServer.POAManagerPackage.State>>
有什么办法(但使用这个类)使它更易读(稍微缩短它)?
【问题讨论】:
重复***.com/questions/2447880/… 今天学到:不能静态导入包,只能导入类型。这将是我的建议 【参考方案1】:创建只有Set<org.omg.PortableServer.POAManagerPackage.State>
和所有需要的Set
方法的包装类。
在客户端的使用:
Map<Integer,GoodWrappingSetName>
【讨论】:
【参考方案2】:可能派生自要消除歧义的类之一。比如在POAState.java
:
import org.omg.PortableServer.POAManagerPackage.State;
public class POAState extends State
然后:
Map<Integer,Set<POAState>> my_map;
【讨论】:
【参考方案3】:如果您在同一段代码(*.java 文件)中使用两个不同的State
类,那么答案是“否”,Java 不提供速记符号。您必须明确并包含完整的包名称以消除歧义。
@dantuch 提出了一个有趣的想法,但不是包装该类,如果您可以扩展其中一个,您可以创建一个空的 State
子类,它只是将其所有实现推迟到父类。
public MyState extends State
// no implementation required
然后你可以参考MyState
【讨论】:
以上是关于使代码更具可读性的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 中使用 extension 使项目更具可读性和效率 01