缩进组变量函数调用代码约定

gno*_*ria 6 java convention coding-style indentation

我有这样的习惯,即缩进一组函数调用,如下所示:

List <Dog> dogs = new ArrayList<>();
   dogs.add(new Dog(1));
   dogs.add(new Dog(2));
   dogs.add(new Dog(3));
   dogs.add(new Dog(4));
   dogs.add(new Dog(5));
System.out.println("list of dogs: " + dogs);
Cat cat1 = new Cat(1);
   cat.meow();
   cat.startsRunningFrom(dogs);
Dog d1 = dogs.get(1);
d1.catches(cat1);
Run Code Online (Sandbox Code Playgroud)

这些在代码约定中真的是一种不好的做法,还是没有真正被人们讨论过?因为我试图找到一些代码约定,这些约定会在某些变量/类的函数调用中推荐这样的缩进.

对我来说,上面的代码比没有代码更具可读性:

List<Dog> dogs = new ArrayList<>();
dogs.add(new Dog(1));
dogs.add(new Dog(2));
dogs.add(new Dog(3));
dogs.add(new Dog(4));
dogs.add(new Dog(5));
System.out.println("list of dogs: " + dogs);
Cat cat1 = new Cat(1);
cat.meow();
cat.startsRunningFrom(dogs);
Dog d1 = dogs.get(1);
d1.catches(cat1);
Run Code Online (Sandbox Code Playgroud)

对于我来说,缩进提供了与变量声明和其他函数操作的明确分离,以及对变量的以下紧密相关的操作.

任何人都可以评论为什么这是一个不好的做法,或者它是否在提供的代码之外(在List操作之外)通常是可接受的.

use*_*685 2

这些在代码约定中确实是一种不好的做法,还是没有真正被讨论过?

这得看情况!如果您正在从事开源工作,那么您必须严格遵守这些准则。没有什么比坏/好更好的了,除非你的同事对此感到满意。

事实上,我团队中的所有人都使用代码格式化程序,并对注释和空格等有一套预定义的规则。我们尝试遵循相同的规则,以便在合并代码时很容易发现差异返回主存储库。

另一件事是,我已经习惯了看到普遍接受的约定,下面的代码片段欺骗我假设块的开始和结束。

List<Dog> dogs = new ArrayList<>();
----> dogs.add(new Dog(1));
      dogs.add(new Dog(2));
      dogs.add(new Dog(3));
      dogs.add(new Dog(4));
      dogs.add(new Dog(5)); <----
System.out.println("list of dogs: " + dogs);
Run Code Online (Sandbox Code Playgroud)

使用此类约定没有什么坏处,但正如我之前所说,它应该被您工作环境中的同事所接受。