我喜欢Python风格,因为它易于阅读和编写。使代码更短,避免不必要的字符,如';'要么 '{}'。但是,我需要在工作中使用Java和C ++。
我想知道是否有办法在这些语言中使用Python缩进规则。也许存在一个Notepad ++或Eclipse的插件,可以这样做:
当我打开file.java时,更改Java缩进规则并使用Python规则格式化文件,以便我更容易阅读。当我编辑并保存它时,插件会添加所有';'和{{}再次让JVM理解。
我想你们中的一些人会认为这是一个糟糕的想法,但我只想尝试一下。在我看来,学习一门新语言很有意思,但学习新的缩进规则只是无聊而无用。
答案 0 :(得分:6)
你可以做到,但这可能是一个坏主意。坚持语言约定可以让您与其他开发人员共享代码。使用制表符切换大括号会让任何想要修改代码的C专业人员感到困惑。
说完后,nobraces会将标签转换为大括号:
无论如何,我仍然使用C进行嵌入式编程合同, 和蒂姆哈奇的pybraces激励我为C写一个类似物 为C提供了Python风格的缩进。
另见How Python affected my C/C++ brace style Eli Bendersky。
答案 1 :(得分:0)
虽然我不知道任何这样的插件,但没有必要这样做的理智方式。 有些情况下,没有正文的循环在cpp中有意义。分号使意图清晰,没有它,它可能看起来像一个缺少的标识。我认为你应该只使用额外的字符,如果你习惯它们会增加可读性,特别是如果你有一个强调匹配(相应的打开和关闭)括号/括号的编辑器。
SInce Java和cpp让你无论如何都要缩进你的代码,你仍然可以使用类似于python中的标识。
对于completness,在c中没有主体的循环的两个例子:
等待特殊的微控制器寄存器切换:
while(magicRegister==1);
复制c样式字符串(小心这是errorprone(溢出)):
while(*(strptrcpy++) = *(strptrsrc++));