Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只想看到Allman风格的代码并保存K&;R型代码_Java_Eclipse_Formatting - Fatal编程技术网

Java 只想看到Allman风格的代码并保存K&;R型代码

Java 只想看到Allman风格的代码并保存K&;R型代码,java,eclipse,formatting,Java,Eclipse,Formatting,我们的一位开发人员决定,他将指示其他开发人员如何格式化他们的源代码 我自己,我坚信奥尔曼式缩进比K&R更好 格式风格就像宗教一样,总是有不同意的。无论有多少证据表明一个比另一个好,人们都不会接受 所以我想做的是,每次我在Eclipse中打开一个文件,我都要对源代码进行格式化,这样我就可以看到漂亮的代码。 每次我保存时,它都应该按照办公室里的口述样式格式化 我想我可以手动操作,并且有两个热键。 Ctrl-Alt-PgUp:我的方式 Ctrl-Alt-PgDown:高速公路 热键选项可能很好,因为这

我们的一位开发人员决定,他将指示其他开发人员如何格式化他们的源代码

我自己,我坚信奥尔曼式缩进比K&R更好

格式风格就像宗教一样,总是有不同意的。无论有多少证据表明一个比另一个好,人们都不会接受

所以我想做的是,每次我在Eclipse中打开一个文件,我都要对源代码进行格式化,这样我就可以看到漂亮的代码。 每次我保存时,它都应该按照办公室里的口述样式格式化

我想我可以手动操作,并且有两个热键。 Ctrl-Alt-PgUp:我的方式 Ctrl-Alt-PgDown:高速公路

热键选项可能很好,因为这样我就可以验证一切正常,而不是在幕后进行


Eclipse有一个单一的格式选项。我需要的是两种格式样式,并将它们分别映射到一个快捷键。这可能吗?如果可能,怎么可能?

好吧,古老的争论似乎又回来了。不幸的是,EclipseJDTUI还不支持应用不同的代码格式化程序

有一个,旨在解决这个问题。只要这个bug没有被修复,最好的解决方法就是在提交钩子中应用一个格式化程序,因为每个项目都与它自己的格式化程序相关联;您甚至不能选择其他格式化程序来应用于文件保存操作(首选项->Java->编辑器->保存操作)。老实说,我认为快捷键根本不起作用


此外,还值得研究的是,的使用,它似乎是最接近(或唯一)支持您需求的插件。我没有尝试过使用它;我只看过Eclipse Marketplace的描述。

我的建议是:学会容忍丑陋。除非你的“与SCM中的历史进行比较”功能真的很好,否则在格式化时很容易产生虚假的差异。

请尊重Mike,如果你不能打败他们,请加入他们。事实上,正如djna所建议的那样,学会容忍丑陋。我是在花了整个职业生涯静静地与这场战斗后给出这个建议的

我相信Allman风格的编码在几个有意义的、有意义的方面更好,首先是代码对齐和明显地澄清代码块。奥尔曼式的人倾向于支持/容忍更多地使用垂直空格,以帮助澄清哪些事情是同时进行的,以及何时开始了新的步骤或阶段

根据我自己的轶事研究,K&R最常被引用的主要优势,除了尊重早期的先例之外,是K&R是一种受那些喜欢在一个屏幕上看到更多代码的人青睐的风格。是的,这是真的,这是主要原因。代码密度。我原以为,在90年代初,当我们超过80 x 25个字符的控制台屏幕时,这一期将会最终消亡,但是,唉,但这似乎并不重要。因此,对于那些喜欢代码密度的人来说,这样他们一次可以在一个屏幕上看到更多的代码,我们会遇到数百万行K&R风格的代码。*叹息*


一句话:宗教战争是打不赢的。这不值得努力。在罗马的时候,要像罗马人那样去做,学会接受现实。这是一个在心理上触动我们的问题,因为它是关于权力和控制的。但我们都明白,有些事情我们根本没有合法的权力或控制权,所以让这些事情成为现实,并学会适应。这确实是进入软件开发职业生涯的正确途径。

我想知道通过版本控制系统中的挂钩是否能更好地实现这一点。按照您希望的方式设置Eclipse,然后强制您的VCS按照您的团队希望的方式提交代码。你在用什么样的VCS?@James:想象一下:A编辑,以样式1保存,然后提交。B编辑、以样式2保存并提交。结果:diff中充满了不相关但非常分散注意力的空白变化。repo中的代码应该完全以一种方式格式化。@James:好吧,通过预提交钩子中的自动格式化程序运行所有代码似乎是标准的(而且似乎工作得很好)。查看K&R中的源代码会让我工作得更慢。@Tom_Fobear:他们显然是在使用他们的主导权。所以,这些年来,我写的所有格式良好、易于阅读、熟悉的代码都被垃圾化了,取而代之的是丑陋的、粘糊糊的、粘糊糊的代码块,我不得不坐在那里看着它发生?我想我在这么多的项目中走来走去,事实上,各个公司都有自己的风格,我别无选择,只能坚持现在的房子风格。所以我已经习惯了这样的事情。我不得不承认,我认为通过这种方式将你优秀的代码库强制转换成某种新的格式是疯狂的,这肯定是非常有害的。我确实了解到,一个人不能改变自己的宗教信仰,即使有证据表明他们错了。然而,目前,我在公司内部“拥有”的大部分代码,我将以Allman的身份离开。一旦我被迫再次处理大量的K&R问题,我可能会寻找,或者写一个想法插件,让我看到Allman并拯救K&R。顽固?也许。但我拒绝被杂乱的代码拖慢。