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

自动将长行Java代码重新格式化为80列,并且仍然编译?,java,ide,coding-style,Java,Ide,Coding Style,我的团队正在两个不同的IDE中开发Java代码,具有不同的列数。到目前为止,它工作得很好,但我们被要求向合作伙伴交付可编译代码,源代码限制在80列以内。我们希望这样做是出于专业的礼貌,但我们不能/不愿意每天使用80列有限代码。是否有任何工具可以使用Java代码,并智能地添加换行符,使其能够容纳80个字符,并且仍然能够正确编译?理想情况下,我希望这是构建过程中的又一个自动化步骤,递归地遍历.java文件的源目录并生成具有新格式的副本 我对80列代码或编辑器的优点不感兴趣,它们可以使用或不使用wor

我的团队正在两个不同的IDE中开发Java代码,具有不同的列数。到目前为止,它工作得很好,但我们被要求向合作伙伴交付可编译代码,源代码限制在80列以内。我们希望这样做是出于专业的礼貌,但我们不能/不愿意每天使用80列有限代码。是否有任何工具可以使用Java代码,并智能地添加换行符,使其能够容纳80个字符,并且仍然能够正确编译?理想情况下,我希望这是构建过程中的又一个自动化步骤,递归地遍历.java文件的源目录并生成具有新格式的副本


我对80列代码或编辑器的优点不感兴趣,它们可以使用或不使用word wrap,我只是想看看是否有一种快速修复方法可以让每个人都满意,而不需要任何人改变他们的操作方式。

这并不像您喜欢的那样自动化,但在Eclipse中,您可以定义一个80列的概要文件(Preferences->Java->Code Style->Formatter),然后在包资源管理器中,右键单击根包,然后选择Source->Format。

Intellij和eclipse以及几乎任何IDE都可以这样做。但是

也许你想问问你自己是否想要自动化,即使你以一种自动化的方式去做,也就是说,Maven,代码可以以比以前更难阅读的方式被分解,它可以在一条重要的线或方法中间断裂,即使编译它也不需要。 我们过去所做的是使用eclipse或intellij设置设置几个.xml文件(它们都允许您导出设置),然后与maven一起使用checkstyle插件强制开发人员进行此设置;它将允许您每天都进行此设置,开发人员将始终决定代码何时中断


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

我建议在Eclipse中使用代码格式化程序来解决80列问题


然后,为了确保您没有遗漏任何内容,请查看checkstyle,看看您是否遵守了这些标准

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


我支持将字符数改为100-120个的建议。80个字符的限制适用于CRT终端(24行x 80列),以及。

如果您不愿意使用80列宽度,您将要提供的不是礼貌,而是一个自动拆分代码,它不一定是人性化的/友好的。虽然它可能适合80列,但结果并不总是有用的。无论如何,这只是一个注释。+1表示“100或120是新的80”.喜欢它。谢谢;在四处询问之后,听起来这是人们愿意做的。(特别感谢你没有就80列代码的优缺点进行演讲)不客气。我可以看出,在其他情况下,你对这一点有点教条,但你显然不是在提倡80列;这只是你必须要做的事情,并且希望以最不痛苦的方式来进行。很乐意提供帮助。你可以从命令行运行Eclipse formatter:是的,反对意见已经提出,p重新美化的代码会很难看,但接收代码的人并不关心这一点:出于各种原因,他必须使用80个字符的终端来阅读。