Tamanho de Linha - 80 "Um padrão Infelizmente!"?

Ola pessoal, gostaria de saber o que vocês pensam a respeito da “regra” de 80 caracteres por linha de código, hoje em dia com os monitores com essas altas resoluções “forçar” 80 caracteres para mim parece um contrassenso, contudo eu sou muito adepto de padrões e estilo de código consistente, eis que estou fazendo um pequeno programa de gerenciamento de arquivos (basicamente thread’s e socket’s) para a disciplina de Sistemas Distribuídos (curso Eng. Comp.), pois bem, programo a muito tempo em C/C++, Delphi e WEB e quando entrei no curso comecei a programar em Java também, meu problema é que a orientação geral em termo de código em Java é:

QUE O CÓDIGO SEJA O MAIS LEGÍVEL POSSÍVEL.

(Não só em Java!!! Mas em C/C++ meus código “tendiam” a ficar menores [em número de caracteres], coisas como public static final double PI = 3.14, e depois acessar como MinhaClasse.PI, são maiores que const int PI = 3.14 e acessar PI, mas a questão não é quem é melhor ou pior PELO AMOR DE DEUS!!! Não é esse o tema isso foi só pra demonstrar que as novas sentenças são maiores, bem como C#, HTML, CSS, JS e quase tudo WEB)

Ok, então isso inclui no caso do Java usar as convenções de nomenclatura para identificadores (eu uso!), quando programava em C/C++ com Win32 usava a notação Húngara, pois bem, não tenho problemas com padrões, acho correto e sempre uso (não que eu seja bitolado, mas acho que quem faz exatas gosta de padrões), blz.

Mas também inclui usar nomes de identificadores claro: Ao invés de gccc = usar gerenteConexaoControleCliente só que as coisas começam a complicar quando por exemplo vc tem um método que retorna um objeto deste tipo e ai vc acessa um método deste objeto tipo:

objetoQueContem.getGerenteConexaoControleCliente().fazAlgumaCoisaMuitoCabulosa();

Foto abaixo para ilustrar melhor:

Dito isso, minha pergunta é para vocês que estão em “empresas de verdade”, vocês usam essa regra 80 caracteres por linha, sempre usei isso em C, forçava com C++, mas em Java e para WEB vejo isso com uma coisa contrária ao avanço da tecnologia afinal essa era uma restrição em função do tamanho dos monitores antigos e das impressoras matriciais, tento sempre que possível usar o guia de estilo de C++ do google em http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml, mais especificamente nesta parte http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Formatting eles orientam que se deve usar esta regra, pois bem como não vi nada do tipo em relação a Java pergunto para vocês senhores oquê acham disto.

O meu problema com isso é que eu realmente acho que os códigos ficam muito mais legíveis quando não são quebrados, claro que ninguém vai fazer uma linha com 1K de caracteres, mas acho 80 um valor fora da realidade atual.

Nota: Lendo os códigos da API do Java percebo que eles usam sempre essa regra, mas queria saber como é aqui no Brasil, nas “empresas de verdade”.

Grato é ótima dia a todos.

NOTA: Antes que alguém comente o código ele vai ser substituído por uma .addAll(), só que eu estava fazendo uns testes em que o gerente mudaria algumas informações vindas do escravo e estava recriando os objetos de propósito… Eu sei, eu sei… um método .setTalCampo(). :wink:

Bom, eu sempre gostei de manter as linhas com 120 caracteres, não 80.

Mas isso vai depender da equipe que trabalha com você. Se todos usam 120, não é legal você usar 80, o contrário também é verdade.

Lendo o Clean Code do tio Bob eu vi que ele também prefere usar 120 caracteres, então não acho que exista um padrão mundial. Cada projeto quando iniciado devia definir isso, não deve gastar mais do que 20 minutos, e evita bastante conflito no controle de versão :slight_smile:

Que padrão é esse que subutiliza os monitores e resoluções atuais. Importante é o bom senso com a realidade da equipe e ambiente.

Aqui usamos 110 caracteres. 80 era na época de impressoras matriciais.
É realmente um limite bem ultrapassado.

Eu uso identação de 120 caracteres por linha a todo momento que salvo meu código-fonte, é bem prático!

Poh, essa era uma duvida que também tinha. Pelo jeito a maioria do pessoal está usando 120, o que eu já fazia. No momento, estou pensando até em aumentar, devido aos monitores Widescreem

Existe um documento que se chama Code Conventions for the Java TM Programming Language que também define que devemos evitar linhas maiores que 80 caracteres:

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-136091.html#313

Mas como pode ser visto no início do documento ele foi revisado pela última vez em abril de 1999 o que, na minha opinião, o torna um pouco ultrapassado nesse sentido justamente pelo o que já foi discutido aqui como evolução dos monitores, impressoras etc.

Acho que 120 caracteres são suficientes, mas, como em boa parte dos casos, o bom senso é a melhor medida. O ideal é deixar seu código legível para você mesmo e para os outros programadores.

O tamanho da linha é completamente irrelevante. O que é relevante é a legibilidade do código.
O tamanho da linha é apenas um guia para lhe dizer quando tecnicas especiais de identação não podem ser esquecidas.

Por exemplo, se o método tem dois parametros e vc escreve m(2,3) é muito simple e curto. Mas se 2 e 3 são retornados por funções
m(f(), g()) é ainda curto, mas porque os nomes das funções são curtos. Metodos reais têm nomes grandes. então se a invocação toda passa do limine estabelecido vc faria

m( 
   f(),
   g()
);

imagien que f e g são nomes muito grandes.
O limite de 80 é pequeno porque como os nomes dos métodos são longos (a tradição antiga era serem curtos) então a linha tem que ser maior. algo entre 120 e 140 dá para escrever um código decente.

Muito obrigado pessoal pelas respostas, ajudaram bastante.