自动将长行Java代码重新格式化为80列仍然可以编译?

时间:2009-07-13 21:57:27

标签: java ide coding-style

我的团队正在几个不同的IDE中开发Java代码,这些IDE具有不同数量的列。到目前为止,它运行良好,但我们已被要求向合作伙伴提供可编译代码,其源代码限制为80列。我们希望以礼貌的方式做到这一点,但我们无法/愿意每天使用80列有限代码。是否有任何可用的工具可以使用Java代码,并智能地添加换行符以使其适合80个字符并仍然可以正确编译?理想情况下,我希望它是我们构建过程中的一个自动化步骤,递归遍历.java文件的源目录并生成具有新格式的副本。

我对80列代码或编辑器的优点不感兴趣,只是看看是否有一个快速解决方案可以让每个人都高兴,而不需要任何人改变他们的方式的东西。

4 个答案:

答案 0 :(得分:8)

Intellij和eclipse以及几乎所有IDE都会这样做。但...

也许你想问问自己是否要自动化,即使你是以自动方式做到这一点,让我们说maven,代码可能会以比以前更难阅读的方式分解,它可以在一条重要的线或方法的中间打破,即使它编译也你不想要它。

我们过去所做的是设置一些带有eclipse或intellij设置的.xml文件(它们都允许您导出设置),然后使用maven使用checkstyle插件强制开发人员进行此设置;它将允许您在日常工作中始终与开发人员一起决定代码何时应该突破该行。

最后,也许你想使用100或120,它们是新的80。

答案 1 :(得分:7)

它不是你想要的自动化,但是在Eclipse中你可以定义一个80列的配置文件(Preferences - > Java - > Code Style - > Formatter),然后在Package Explorer中右键单击你的root包,然后选择Source-> Format。

答案 2 :(得分:0)

我建议在Eclipse中使用code formater来解决80列问题。

然后确保你没有遗漏任何东西 - 看看checkstyle,看看你是否遵守这些标准

答案 3 :(得分:0)

任何现代IDE都会根据您的首选样式自动重新格式化,但我只会在严重未格式化的代码上执行此操作,否则最终会降低可读性。特别是如果原作者为清晰起见做了很多自定义格式化,结果将失去它。

我的建议是移动到100-120个字符。 80个字符的限制适用于CRT终端(24行x 80列)和1928 IBM punch card standard