【问题标题】:Java Better alignment of fields declarations using EclipseJava 使用 Eclipse 更好地对齐字段声明
【发布时间】:2017-02-08 14:47:00
【问题描述】:

在一个类中添加太多字段会变得像这样一团糟:

private static final int UNAVAILABLE = -1;
private static final int EXTERNAL_BUFFER_SIZE = 4000 * 4;
private static final int SKIP_INACCURACY_SIZE = 1200;
private Thread thread = null;
private Object dataSource;
private AudioInputStream audioInputStream;
private AudioInputStream encodedAudioInputStream;
private int encodedAudioLength = -1;
private AudioFileFormat audioFileFormat;
private SourceDataLine sourceDataLine;

我希望 Eclipse 重新格式化代码并使其更易于阅读,因此我修改了默认格式化程序并实现了这一点:

private static final int                UNAVAILABLE             = -1;
private static final int                EXTERNAL_BUFFER_SIZE    = 4000 * 4;
private static final int                SKIP_INACCURACY_SIZE    = 1200;
private Thread                          thread                  = null;
private Object                          dataSource;
private AudioInputStream                audioInputStream;
private AudioInputStream                encodedAudioInputStream;
private int                             encodedAudioLength      = -1;
private AudioFileFormat                 audioFileFormat;
private SourceDataLine                  sourceDataLine;

但是还是很乱,我找不到如何进一步修改编辑器来实现这个(你可以看到static的区别)

(找到了这段代码here,我认为可以更好地为final创建一个空列):

Eclipse 中编辑器的图像:

我该怎么做?

【问题讨论】:

  • 第一个念头是“切换到COBOL”,不过我能理解。然而,即使是 0.01% 的 Java 程序员同行也不会经历过这样的格式化并欣赏它。如果您想与其他人一起工作,最好使用简陋的 java 代码。
  • @Joop Eggen 这对眼睛来说既清晰又漂亮。对于通常的代码,我必须打开搜索窗口:)。
  • “修改标签导致代码还包含 JavaFX 类。” 如果只有您要格式化的代码包含 JavaFX 类,但不包含格式化程序,而您不是试图为 JavaFX 类实现一些特殊格式,javafx 标记在这里会产生误导,因为如果代码包含 ObjectProperty<Color>List<BigInteger> 无关紧要。
  • 这可能远非微不足道。我只是摆弄这个。选择一个变量声明块并使用专用菜单命令格式化它们(“很好”!)的选项可能是合理的。无论如何,都存在未解决的问题:int final x=3; final int y=3; 应该发生什么。修饰符是否应该重新排序?但是对于 真正的 格式化程序,必须深入研究git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/… 等。我试过了,但是......没有任何机会到达那里。

标签: java eclipse


【解决方案1】:
我的建议是编写自己的格式化程序,将文件位置作为输入并将格式化的内容写回同一个文件。它可以制作成一个可以在特定按键上运行的 Eclipse 插件。
好处是您可以自定义您想要的方式。
不利的一面是,如果有人已经这样做了,那将是重新发明轮子。

【讨论】:

  • 是的,创建一个插件会很棒,但它需要时间和良好的知识,除了复杂性。如果有人还没有这样做,这将是最后的解决方案......
【解决方案2】:

当我遇到这样的格式问题时,我的第一反应是“这门课做得太多了吗?”。

通过重复应用Single Responsibility Principle,您应该能够将字段数量减少到可读的数字 - 并且不需要特殊格式。

【讨论】:

  • James 感谢您的回答,我阅读了您的链接。有时存在一个只做一个认为可以有很多变量的类。在这个问题中,我想要一个通用格式化程序来使代码更多精彩且人类可读。
猜你喜欢
  • 2013-05-01
  • 2015-11-07
  • 1970-01-01
  • 2011-06-02
  • 2013-02-12
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多