Por que a identação do código da sun é estranha?

Por que será?
Não entendo, será que o código não é exatamente aquele que fica disponível? Mas não haveria razão para isso.

Por exemplo olhem qualquer classe do pacote source do java 5.0.

EDITADO Que burro, eu tentei colar o código aqui, mas óbviamente que com a tag [code] o fórum corrige a identação. :stuck_out_tongue:

O que tem de estranho ai?!

É, eu sei, o fórum corrige a identação… Mas olhe source para você ver. É muito estranho.

É que eles usam 4 espaço para identação (eu tou mais acostumado a 8) e um padrão de no máximo 80 caracteres por linha, aí fica meio estranho linhas grandes (declaração de método que lança muitas exceções).

Como em Java as classes normalmente tem nomes grandes, quase todas as linhas precisam ser quebradas.

Até onde sei 4 espaços para identação é o padrão. Não olhei o código da Sun não, mas deve estar como descrito aqui:

http://java.sun.com/docs/codeconv/

É como está aí que faço o meu código…

Como o fonte foi escrito por várias pessoas, algumas delas usaram tabs para identar, e dependendo de como elas editaram o programa, pode ser que o tab tenha sido configurado para 8 posições ou para 4 posições. É por isso que alguns fontes ficam “esquisitos” mesmo.
Eles não vão uniformizar tudo (usando o formatador do Eclipse ou do NetBeans) porque senão iria bagunçar o sistema de controle de versões deles.

Não, num é nada disso. Olhem o arquivo anexo. Reparem que existem declarações de variáveis locais no mesmo nível da declaração do método, ou seja, com apenas um recuo.

existem também casos em que tem uma chave fechando no mesmo nível de outra, assim:

}

// algum código

}

thingol a sua explicação é a mais plausível.

Mas mesmo assim, todo mundo deveria usar com tab equivalente a 4 espaços. e isso ainda não justifica o fato de existirem variáveis locais recuadas ao nível do método.

Cara, me diz em qual linha vc achou isso… Vc ta usando o que pra visualizar o arquivo?

Nos fontes do 1.4 simplesmente não há identação :shock:

[quote=rmarin]Não, num é nada disso. Olhem o arquivo anexo. Reparem que existem declarações de variáveis locais no mesmo nível da declaração do método, ou seja, com apenas um recuo.
[/quote]

Peguei o tal arquivo (String.java) e vi que o tab foi configurado para ocupar 8 posições, mas a indentação é de 4 espaços. Se você configurar o seu editor para isso, ele vai ficar direitinho.

Foi o que reparei aqui, thingol. Por isso queria saber o que o cara tava usando pra ler o arquivo. abs!

[quote=thingol][quote=rmarin]Não, num é nada disso. Olhem o arquivo anexo. Reparem que existem declarações de variáveis locais no mesmo nível da declaração do método, ou seja, com apenas um recuo.
[/quote]

Peguei o tal arquivo (String.java) e vi que o tab foi configurado para ocupar 8 posições, mas a indentação é de 4 espaços. Se você configurar o seu editor para isso, ele vai ficar direitinho. [/quote]

[quote=andreban]Cara, me diz em qual linha vc achou isso… Vc ta usando o que pra visualizar o arquivo?
[/quote]

Tô usando o Power Point, não pode?

Se você vai colar um pedaço de código no PowerPoint, pelo menos passe-o por um editor de texto que troque tabs por espaços, para evitar esses problemas de formatação.

Se você vai colar um pedaço de código no PowerPoint, pelo menos passe-o por um editor de texto que troque tabs por espaços, para evitar esses problemas de formatação. [/quote]

thingol eu não estou usando PowerPoint, é que tem gente que acha que sabe de tudo.

Estou usando o Eclipse.

Meu “detector de ironia Tabajara” está com a bateria descarregada - preciso dar uma recarga hoje à noite. :stuck_out_tongue:

De qualquer maneira, se você olhar os fontes do JDK (todos, incluindo os em C++) vai ver que é um verdadeiro carnaval. Existem alguns que supõem que o tab = 8 posições, outros que não usam tabs - só espaços, outros que supõem que o tab = 3 posições - só faltava ter fontes com o estilo GNU de endentação (que é mais ou menos assim: )

public static void main(String[] args) 
  {
    System.out.println ("Hello, world!");
  }

Identação ou endentação?

Cara... não to te entendendo. To postando na boa aqui tentando entender o problema e vc vem de ironia?? Te perguntei porque abri o fonte que vc colocou como anexo no notepad e no ultraedit32 e ele ficou com a identação certinha nos dois. Queria saber qual linha vc achou errada para ver se era eu que não estava passando direto pelo erro e queria saber o editor que vc estava usando exatamente para saber se tem configuração da qtd de colunas dos tabs no Editor que vc está usando.

Se você não quiser ajuda, não pergunte…

Se você vai colar um pedaço de código no PowerPoint, pelo menos passe-o por um editor de texto que troque tabs por espaços, para evitar esses problemas de formatação. [/quote]

thingol eu não estou usando PowerPoint, é que tem gente que acha que sabe de tudo.

Estou usando o Eclipse. [/quote]