关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
我们是一个小型开发团队,致力于共同的 Java/Maven 项目。我们正在使用不同版本的 Eclipse、一个通用的 Mercurial 存储库(在 Bitbucket 上)和三个不同的操作系统。由于每个开发人员都有他/她的个人喜好,我们都使用不同的编码风格和代码格式(“else”在同一行/与前一个右括号不同,或者每行最多使用 80/100/120 个字符,因为某些用途的屏幕比其他用途更大,等等)。因此,当代码提交到存储库时,有时会出现对类的更改,即使只更改了格式。这使得真正的变化难以追踪。
所以我们正在讨论解决方案,如果我们同意一个项目标准并且从现在开始,repo 中的每个代码都必须遵守这个标准,那么最好的解决方案可能是。如果同事从 repo 中 checkout 代码,工具会将其转换为他/她最喜欢的格式,并在提交之前将其转换回 repo 标准。
我想知道是否有格式化代码的工具,
关于自动化的一点非常重要:我应该轻松集成,最好不要通过强制他/她运行特殊脚本或在每次提交时按下额外按钮来打扰开发人员。
到目前为止我做了什么 :
我将以下行添加到我的 .hgrc 以创建一个钩子(Hook)。
[hooks]
precommit = python:.hg/perform_code_formatting.py:perform
并创建了一个名为 perform_code_formatting.py 的文件
import re,os,sys,mercurial
def perform(repo, **kwargs):
from subprocess import call
call(["ls", "-l"])
当然,
call
最终将被代码格式化工具所取代。但是这种方法已经存在缺陷,因为我不确定有什么工具可以在任何操作系统上运行并满足上述所有要求。工具
我的问题
有没有一种工具可以满足我列出的所有要求?有没有人对这个“不同的格式问题”有任何经验,并提出了解决方案/工作流程/政策来处理它?
先感谢您 ;)
最佳答案
您可以使用 Jalopy,一种用于代码格式化的开源工具。也许你的团队可以试试这个。
http://jalopy.sourceforge.net/
关于java - 在协作 Java 开发中强制执行代码格式化规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23173219/