我已经进行了一些静态代码分析,并将所有Java包级别字段转换为protected。这在大多数情况下是正确的,因为我忘记显式设置访问修饰符,而protected通常是我想要的。
不幸的是,我应用的重构是IntelliJ弱化访问修饰符,它还会更改很多构造函数等的public->protected。
因此,一旦我有了这样的语句差异:
-int myField;
+protected int myField;
并且
-public MyConstructor()
+protected MyConstructor()
有没有一种方法可以编写一个脚本,在提交时运行,只允许第一个示例,而不允许第二个示例?我可以想出脚本,只是不确定如何运行它 - 是预提交挂钩吗?
如果是预提交挂钩,如何在这样的脚本中检查差异并基于字符串进行接受/拒绝?