PEP8 - 80 caracteres

310 views
Skip to first unread message

Fellipe Castro

unread,
Dec 11, 2014, 4:04:35 AM12/11/14
to python...@googlegroups.com
Bom dia galera,

Eu tenho uma certa tara por manter meu código seguindo 100% do PEP8, e isso inclui não passar de 80 caracteres por linha.

No entanto, reparo que às vezes o código fica mais difícil de entender com tantos "\" e uso de parênteses só para quebra de linha...

Nós sabemos que "Readability counts." :D

Já trabalhei em um time onde usávamos 100 caracteres por linha.

Como vocês costumam lidar com isso?

Luciano Barcaro

unread,
Dec 11, 2014, 4:27:58 AM12/11/14
to python-brasil

Apenas seja razoável.

As "regras" existem por algum motivo.

O melhor é sempre utilizar o bon senso.

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Thiago Avelino

unread,
Dec 11, 2014, 5:02:04 AM12/11/14
to python...@googlegroups.com
A pep8 foi atualizada a 16 meses, mudando de 79 para 99, veja o diff[1].

-Limit all lines to a maximum of 79 characters.

+Aim to limit all lines to a maximum of 79 characters, but up to 99
+characters is acceptable when it improves readability.

O problema que algumas libs como flake8 ainda não foi atualizada.



Cheers,
Thiago Avelino

Alejandro Mesias

unread,
Dec 11, 2014, 5:50:53 AM12/11/14
to python-brasil
Razoável, o tamanho e o formato dos monitores mudou, nada mais justo.
======================================
Alejandro Mesias André Nebra Perez
Java/Python/Js/Something else Developer
Twitter: @meszias
Linux User #442506
Campinas - SP - Brasil - South America
======================================

Fellipe Castro

unread,
Dec 11, 2014, 6:52:26 AM12/11/14
to python...@googlegroups.com
Boa Thiago,

Não sabia dessa. Eu sempre me guio pelo flake8 mesmo.

Assim já fica bem melhor!

Obrigado,

2014-12-11 8:01 GMT-02:00 Thiago Avelino <thi...@avelino.xxx>:
Você recebeu essa mensagem porque está inscrito em um tópico no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/python-brasil/p0sLD4NoQAY/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para python-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



--
Fellipe Castro
Software Developer
con...@fellipecastro.com

Fernando Macedo

unread,
Dec 11, 2014, 7:02:28 AM12/11/14
to python...@googlegroups.com
A flake8 manteve-se literal ao texto, com o valor default para o tamanho da linha sugerido em 79 caracteres. Mas você pode configurá-lo para o valor que achar conveniente, globalmente ou por projeto.


The user settings are read from the ~/.config/flake8 file. Example:

[flake8]
ignore = E226,E302,E41
max-line-length = 160
exclude = tests/*
max-complexity = 10
Vale lembrar que a sugestão é manter 79, mas com um limite flexível para quando a legibilidade ficar melhor.

Meu gosto pessoal é por 79, pois mesmo com monitor maior, eu aproveito o recurso do Sublime (e vários outros editores) de manter dois arquivos (até mais) side-by-side, e com uma linha 79 eu não preciso do scroll horizontal.

Outro recurso que você pode utilizar para silenciar o linter é o comentário especial  # NOQA, que desabilita o linter para a linha. Eu utilizo quando passo do limite por apenas alguns caracteres e não quero quebrar para seguir a regra e também não quero mensagens de erro do linter.

Fica assim:
import this  # NOQA

Abs,

SleX Luthor

unread,
Dec 11, 2014, 9:45:09 AM12/11/14
to python...@googlegroups.com
Eu prefiro respeitar os 79 caracteres mesmo.
Acredito que todo código possa ser refatorado para respeitar os 79 caracteres.
Lembrando que NÃO e só colocar \
que esta tudo certo. =]
Penso que se você tem um caso que esta muito complicado de colocar as 79 caracteres. Pode desconfiar que tem alguma coisa errada...

"Special cases aren't special enough to break the rules."

Ademir Francisco da Silva

unread,
Dec 11, 2014, 9:46:35 AM12/11/14
to python...@googlegroups.com
Eu me utilizo de 106 ... Porque este número? Porque é razoável e me
atende bem ...

Ademir
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python
> Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
> envie um e-mail para python-brasi...@googlegroups.com
> <mailto:python-brasi...@googlegroups.com>.
> Para mais opções, acesse https://groups.google.com/d/optout.


--
Ademir Francisco da Silva
Skype ...: Ademir_Francisco_da_Silva
[ CMC ] God will do me justice

José Ricardo Borba

unread,
Dec 11, 2014, 11:40:32 AM12/11/14
to python-brasil
Prezados,
Esta discussão já aconteceu recentemente aqui na lista. Basta procurar.
IMHO:
Existe o padrão (e existe porque há motivos para isso) e existe o SEU padrão.
Caso você prefira utilizar o SEU padrão, isto será bom até que você precise intercambiar informacões (isto é, que você deixe de ser uma ilha).
Aí você verá porque existe o padrão (de todos).
"Readability counts."

Veja os padrões (não-)métricos: polegada, pé, jarda, knot, etc.... Não existia apenas um deles, mas vários. Daí o problema. E a solucão (padronizar). ;-)))

Abraco,


Em 11 de dezembro de 2014 12:46, Ademir Francisco da Silva <ademir...@gmail.com> escreveu:
Eu me utilizo de 106 ... Porque este número? Porque é razoável e me atende bem ...

Ademir


On 11/12/2014 07:04, Fellipe Castro wrote:
Bom dia galera,

Eu tenho uma certa tara por manter meu código seguindo 100% do PEP8, e isso inclui não passar de 80 caracteres por linha.

No entanto, reparo que às vezes o código fica mais difícil de entender com tantos "\" e uso de parênteses só para quebra de linha...

Nós sabemos que "Readability counts." :D

Já trabalhei em um time onde usávamos 100 caracteres por linha.

Como vocês costumam lidar com isso?
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com <mailto:python-brasil+unsub...@googlegroups.com>.

Para mais opções, acesse https://groups.google.com/d/optout.


--
Ademir Francisco da Silva
Skype  ...: Ademir_Francisco_da_Silva
[ CMC ] God will do me justice
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
   http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:
   python-brasil+unsubscribe@googlegroups.com

--- Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.



--
José Ricardo Borba

Kanazuchi

unread,
Dec 11, 2014, 1:55:52 PM12/11/14
to python...@googlegroups.com
https://groups.google.com/forum/#!searchin/python-brasil/pep8/python-brasil/iN-IT6Dvr3Q/eQpUnduIaxEJ

Ai em cima esta o link da discussão que tivemos sobre a PEP8 e o numero de caracterers em uma linha.

Depois de discutir isso acabei adotando o seguinte conceito, 79 enquanto possivel. Quebrar strings jamais, independente da quantidade de caracteres.

a questão da barra, da pra trabalhar sem ela na maioria dos casos, quebrando a linha dentro de parenteses quando possivel.

Ademir Francisco da Silva

unread,
Dec 11, 2014, 3:58:38 PM12/11/14
to python...@googlegroups.com
Quando houver a necessidade - como trabalho em grupo - é só mudar para
79 ou 59 ou 109 ou 19 ou o que for ... 8-)

Ademir

On 11/12/2014 14:40, José Ricardo Borba wrote:
> Prezados,
> Esta discussão já aconteceu recentemente aqui na lista. Basta procurar.
> IMHO:
> Existe o padrão (e existe porque há motivos para isso) e existe o SEU
> padrão.
> Caso você prefira utilizar o SEU padrão, isto será bom até que você
> precise intercambiar informacões (isto é, que você deixe de ser uma ilha).
> Aí você verá porque existe o padrão (de todos).
> "Readability counts."
>
> Veja os padrões (não-)métricos: polegada, pé, jarda, knot, etc.... Não
> existia apenas um deles, mas vários. Daí o problema. E a solucão
> (padronizar). ;-)))
>
> Abraco,
>
>
> Em 11 de dezembro de 2014 12:46, Ademir Francisco da Silva
> <ademir...@gmail.com <mailto:ademir...@gmail.com>> escreveu:
>
> Eu me utilizo de 106 ... Porque este número? Porque é razoável e
> me atende bem ...
>
> Ademir
>
>
> On 11/12/2014 07:04, Fellipe Castro wrote:
>
> Bom dia galera,
>
> Eu tenho uma certa tara por manter meu código seguindo 100% do
> PEP8, e isso inclui não passar de 80 caracteres por linha.
>
> No entanto, reparo que às vezes o código fica mais difícil de
> entender com tantos "\" e uso de parênteses só para quebra de
> linha...
>
> Nós sabemos que "Readability counts." :D
>
> Já trabalhei em um time onde usávamos 100 caracteres por linha.
>
> Como vocês costumam lidar com isso?
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
> <mailto:python-brasil%2Bunsu...@googlegroups.com>
>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo
> "Python Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails
> dele, envie um e-mail para
> python-brasi...@googlegroups.com
> <mailto:python-brasil%2Bunsu...@googlegroups.com>
> <mailto:python-brasi...@googlegroups.com
> <mailto:python-brasil%2Bunsu...@googlegroups.com>>.
> Para mais opções, acesse https://groups.google.com/d/optout.
>
>
>
> --
> Ademir Francisco da Silva
> Skype ...: Ademir_Francisco_da_Silva
> [ CMC ] God will do me justice
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
> <mailto:python-brasil%2Bunsu...@googlegroups.com>
>
> --- Você está recebendo esta mensagem porque se inscreveu no grupo
> "Python Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails
> dele, envie um e-mail para
> python-brasi...@googlegroups.com
> <mailto:python-brasil%2Bunsu...@googlegroups.com>.
> Para obter mais opções, acesse https://groups.google.com/d/optout.
>
>
>
>
> --
> José Ricardo Borba
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python
> Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
> envie um e-mail para python-brasi...@googlegroups.com
> <mailto:python-brasi...@googlegroups.com>.

Danilo J. S. Bellini

unread,
Dec 11, 2014, 5:21:11 PM12/11/14
to python-brasil
"Padrão" é uma das palavras do português que eu mais tenho evitado, acho que vou começar a sistematicamente usar somente a palavra em inglês quando eu preciso falar de algum de seus significados. "Padrão" pode ser uma tradução para default, pattern ou standard, e as 3 têm significados diferentes. Mas há sempre alguém que usa a multiplicidade de significados em um único símbolo para [deselegantemente] para forçar um significado, por exemplo exigindo o significado de "standard" onde não é esse o caso.

PEP8 fornece defaults, não standards. São estilos, nem vejo lá muito sentido falar de "standard" para questões de estilo, mas independente disso é bem óbvio que misturar os significados nos leva a problemas. E o próprio início do texto do PEP8 já fornece exemplos de casos em que não é recomendável adotá-lo...o PEP8 somente tem valor normativo para a standard library do Python.

Valor default é o adotado a menos que alguém forneça outro valor. Não tem nada a ver com existência de justificativa. Fico pensando como seria a burocracia para ter de ficar justificando o motivo de cada keyword argument fornecido em código em substituição aos valores default. Caso seja demandada justificativa para não usar o default, também é necessário avaliar o default com o mesmo critério que fundamenta a demanda por justificativa, ou mesmo questionar a relevância/arbitrariedade do que foi adotado como critério...mas é mais fácil isso entrar no terreno de "burocratas" que estão preocupados com coisas completamente alheias ao código...chamar "default" de "standard" é somente um possível "cheiro" desse terreno.

Eu não apenas abro várias coisas lado a lado como estou quase sempre preocupado com apresentações em slides, em que a resolução costuma ser menor. Para slides, o próprio 79 já costuma ter mais caracteres do que "cabe", dependendo dos tamanhos envolvidos (resolução, tamanho da fonte e área disponível para o texto). Meu critério básico é "a ideia completa tem de caber por inteiro na tela", e o scrolling horizontal significa basicamente parar de ver o código como um todo para ver o que há em uma única linha. No caso de slides há um agravante, não dá para cada um ficar indo e voltando de acordo com a velocidade de leitura e entendimento de cada um.

Nos slides até tenho tentado manter PEP8, mas em muito do que escrevo eu acabo é fazendo indentação de 2 espaços para evitar perder 2 * N caracteres para cada linha com N passos de indentação (o default de 79 caracteres por linha faz mais sentido para mim do que os 4 espaços de indentação). Aliás sempre me parece estranho reclamarem do 79 como "pequeno" mas continuarem usando 4 espaços de indentação. A título de exemplo, para quem quer/precisa ler código em celulares não vejo muito sentido manter os 4 espaços de indentação. E um segundo exemplo é que a indentação da escrita de mensagens de traceback é de 2 espaços.


        ---
        Você recebeu essa mensagem porque está inscrito no grupo
        "Python Brasil" dos Grupos do Google.
        Para cancelar inscrição nesse grupo e parar de receber e-mails
        dele, envie um e-mail para

        Para mais opções, acesse https://groups.google.com/d/optout.



    --     Ademir Francisco da Silva
    Skype  ...: Ademir_Francisco_da_Silva
    [ CMC ] God will do me justice

    --     --     ------------------------------------
    Grupo Python-Brasil
    http://www.python.org.br/wiki/AntesDePerguntar

    <*> Para visitar o site do grupo na web, acesse:
    http://groups.google.com/group/python-brasil

    <*> Para sair deste grupo, envie um e-mail para:


    --- Você está recebendo esta mensagem porque se inscreveu no grupo
    "Python Brasil" dos Grupos do Google.
    Para cancelar inscrição nesse grupo e parar de receber e-mails
    dele, envie um e-mail para

    Para obter mais opções, acesse https://groups.google.com/d/optout.




--
José Ricardo Borba

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com <mailto:python-brasil+unsub...@googlegroups.com>.

Para mais opções, acesse https://groups.google.com/d/optout.


--
Ademir Francisco da Silva
Skype  ...: Ademir_Francisco_da_Silva
[ CMC ] God will do me justice

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
   http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:


--- Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/d/optout.



--
Danilo J. S. Bellini
---------------
"It is not our business to set up prohibitions, but to arrive at conventions." (R. Carnap)

Osvaldo Matos Júnior

unread,
Dec 12, 2014, 8:02:52 AM12/12/14
to python...@googlegroups.com
Excelente resposta Danilo.
Aqui no JusBrasil usamos 2 espaços na indentação, herdamos isso do nosso code style Java e essa mudança nos ajudava a enxergar mais código na tela.
O mesmo fizemos para a quantidade de caracteres: de 80 passamos para 120; monitores maiores e wide permite trabalhar com a tela dividida de forma confortável.
A parte ruim que sempre tem que ficar configurando lints/IDEs a cada novo setup.
Se a mudança é pra ganhar produtividade, pra mim ta valendo.

Tupy,
JusBrasil


        ---
        Você recebeu essa mensagem porque está inscrito no grupo
        "Python Brasil" dos Grupos do Google.
        Para cancelar inscrição nesse grupo e parar de receber e-mails
        dele, envie um e-mail para

        Para mais opções, acesse https://groups.google.com/d/optout.



    --     Ademir Francisco da Silva
    Skype  ...: Ademir_Francisco_da_Silva
    [ CMC ] God will do me justice

    --     --     ------------------------------------
    Grupo Python-Brasil
    http://www.python.org.br/wiki/AntesDePerguntar

    <*> Para visitar o site do grupo na web, acesse:
    http://groups.google.com/group/python-brasil

    <*> Para sair deste grupo, envie um e-mail para:


    --- Você está recebendo esta mensagem porque se inscreveu no grupo
    "Python Brasil" dos Grupos do Google.
    Para cancelar inscrição nesse grupo e parar de receber e-mails
    dele, envie um e-mail para

    Para obter mais opções, acesse https://groups.google.com/d/optout.




--
José Ricardo Borba

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com <mailto:python-brasil+unsubscri...@googlegroups.com>.

Para mais opções, acesse https://groups.google.com/d/optout.


--
Ademir Francisco da Silva
Skype  ...: Ademir_Francisco_da_Silva
[ CMC ] God will do me justice

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
   http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:


--- Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/d/optout.

Fábio Cerqueira

unread,
Dec 12, 2014, 5:41:55 PM12/12/14
to python...@googlegroups.com
Tupi,
sobre configurar nos editores, um bom plugin é o EditorConfig[1]. Você commita um arquivo de configuração oculto e basta que a IDE ou Editor tenha o plugin instalado.


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.


--
Fábio Cerqueira

Fábio Cerqueira

unread,
Dec 12, 2014, 5:48:10 PM12/12/14
to python...@googlegroups.com
Sobre o número de espaços na indentação, gosto dos 4 espaços, pois o código não fica tão denso e assim parece mais fácil de ler.

No Linux kernel coding style(que usa 8 espaços), Linus disse:

"Now, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program."

Claro que lá é C e não Python, mas penso que muitos níveis de indentação realmente deve ser algo para se preocupar.

--
Fábio Cerqueira

Thiago Avelino

unread,
Dec 12, 2014, 6:00:08 PM12/12/14
to python...@googlegroups.com
Meu primeiro pull request para o DevTools (do Chromuim) foi corrigindo os espacos na identacao de 2 para 4 (no codigo Python), mas o pessoal tem um code style proprio baseado na pep8!

Logicamente que esse PR foi recusado e mandarao a documetacao de como contribuir.



Cheers,
Thiago Avelino

Danilo J. S. Bellini

unread,
Dec 13, 2014, 8:16:48 PM12/13/14
to python-brasil
Obrigado Tupy =)

Fábio, um simples "if" dentro de um "for" em um método já é suficiente para criar 4 níveis de indentação em Python...coloque um with (para usar um threading.Lock, acessar um arquivo, etc.) e já teremos 5 níveis (e, portanto, 59 caracteres disponíveis por linha física para manter a PEP8), mesmo ainda sem nenhum tipo de "aninhamento de laço" ou coisas do gênero...O Python está até que bem servido de maneiras de evitar muitos níveis de indentação (e.g. try-except-else-finally, o for-else, etc.), mas acho que não precisamos ser neuróticos com isso.

O Linus Torvalds ia passar mal se visse o código do jQuery...embora ele seja indentado com TABs e o GitHub mostre cada TAB com a largura de 8 espaços...

O link do guia de estilo do Kernel do Linux é divertidíssimo...selecionei algumas partes:
"""
First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it.  Burn them, it's a great symbolic gesture.

[...]

Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.

[...]

C is a Spartan language, and so should your naming be.  Unlike Modula-2 and Pascal programmers, C programmers do not use cute names like ThisVariableIsATemporaryCounter.  A C programmer would call that variable "tmp", which is much easier to write, and not the least more difficult to understand.

[...]

If you are afraid to mix up your local variable names, you have another problem, which is called the function-growth-hormone-imbalance syndrome.
"""

Mas a parte que me pareceu ser a mais importante do texto é o primeiro parágrafo: "This is a short document describing the preferred coding style for the linux kernel.  Coding style is very personal, and I won't _force_ my views on anybody, but this is what goes for anything that I have to be able to maintain, and I'd prefer it for most other things too.  Please at least consider the points made here." 

Fábio Cerqueira

unread,
Dec 14, 2014, 12:17:08 AM12/14/14
to python...@googlegroups.com
Excelente reply, Danilo. E não tem jeito, code style é pessoal mesmo. O lance é seguir o que está definido no projeto em que você está trabalhando. 

Diego Guimarães

unread,
Dec 14, 2014, 6:40:43 AM12/14/14
to python...@googlegroups.com
Concordo, depende do projeto que está envolvido e das ferramentas disponíveis.

E para citar mais um exemplo de diferença dependendo do projeto, o Django adota 119 ( 120 com o caractere de diff + ou -) caracteres invés dos 79, e 72 caracteres para docstring. Isso porque utilizam o Github para code review, e esse é um valor que não gera scrolling horizontal, deixando o review mais simples. Esse valor foi testado em vários navegadores e resoluções comuns hoje em dia e não tiveram problemas. Achei bastante relevante a justificativa para a mudança deles, porque nesse caso fazia mais sentido para eles.

Fellipe Castro

unread,
Dec 16, 2014, 7:45:18 PM12/16/14
to python...@googlegroups.com
O que o Django diz em seu coding style:

"Unless otherwise specified, follow PEP 8.

Use flake8 to check for problems in this area. Note that our setup.cfg file contains some excluded files
(deprecated modules we don’t care about cleaning up and some third-party code that Django vendors) as well as
some excluded errors that we don’t consider as gross violations. Remember that PEP 8 is only a guide, so
respect the style of the surrounding code as a primary goal.

One big exception to PEP 8 is our preference of longer line lengths. We’re well into the 21st Century, and we have
high-resolution computer screens that can fit way more than 79 characters on a screen. Don’t limit lines of code
to 79 characters if it means the code looks significantly uglier or is harder to read.


https://docs.djangoproject.com/en/1.7/internals/contributing/writing-code/coding-style/

Optei por ficar com os 99 caracteres. É "permitido" pelo PEP 8, e bem mais fácil de manter que os 79 originais.

Agradeço a todos pela interação. Foi muito construtiva!

Você recebeu essa mensagem porque está inscrito em um tópico no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/python-brasil/p0sLD4NoQAY/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para python-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.


--

Fernando Oliveira

unread,
Dec 21, 2014, 12:17:00 PM12/21/14
to python...@googlegroups.com
Tenho seguido com os 79 caracteres. 
Meu notebook tem resolução (bem comum) de 1366x768, então se eu manter em 79 consigo usar um vim split e deixar o código de produção e o de testes lado a lado...

Cleiton Bueno

unread,
Dec 22, 2014, 1:52:33 PM12/22/14
to python...@googlegroups.com
Eu aposto neste linha de raciocínio até porque não é só Python, de acordo com o Linux kernel coding style é uma das recomendações, e olha que o kernel é chato, se não fizer nos parâmetros deles e você tentar subir, com certeza levara pedradas, mas existem N ferramentas para ajudar nesta parte de codificação e formatação.


"
The limit on the length of lines is 80 columns and this is a strongly
preferred limit.
"

Link: https://www.kernel.org/doc/Documentation/CodingStyle

Joao S. O. Bueno

unread,
Dec 23, 2014, 9:28:23 AM12/23/14
to Python Brasil
> O Linus Torvalds ia passar mal se visse o código do jQuery...embora ele seja indentado com TABs e o
> GitHub mostre cada TAB com a largura de 8 espaços...
Acho que qualquer um que não tenha sido braiwahsed para
gostar-de-javascript-como-ele-é vai passar mal se ver o código do
jQuery.
Alias, só mais uma biblioteca cujas mais "fantásticas e
insubstituiveis qualidades" se renderiam a 5-10 linhas de código
Python cada, do lado do cliente.
>>>>>>>> <mailto:python-brasil%2Bunsu...@googlegroups.com>
>>>>>>>>
>>>>>>>> ---
>>>>>>>> Você recebeu essa mensagem porque está inscrito no grupo
>>>>>>>> "Python Brasil" dos Grupos do Google.
>>>>>>>> Para cancelar inscrição nesse grupo e parar de receber
>>>>>>>> e-mails
>>>>>>>> dele, envie um e-mail para
>>>>>>>> python-brasi...@googlegroups.com
>>>>>>>> <mailto:python-brasil%2Bunsu...@googlegroups.com>
>>>>>>>> <mailto:python-brasi...@googlegroups.com
>>>>>>>> <mailto:python-brasil%2Bunsu...@googlegroups.com>>.
>>>>>>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -- Ademir Francisco da Silva
>>>>>>>> Skype ...: Ademir_Francisco_da_Silva
>>>>>>>> [ CMC ] God will do me justice
>>>>>>>>
>>>>>>>> -- -- ------------------------------------
>>>>>>>> Grupo Python-Brasil
>>>>>>>> http://www.python.org.br/wiki/AntesDePerguntar
>>>>>>>>
>>>>>>>> <*> Para visitar o site do grupo na web, acesse:
>>>>>>>> http://groups.google.com/group/python-brasil
>>>>>>>>
>>>>>>>> <*> Para sair deste grupo, envie um e-mail para:
>>>>>>>> python-brasi...@googlegroups.com
>>>>>>>> <mailto:python-brasil%2Bunsu...@googlegroups.com>
>>>>>>>>
>>>>>>>> --- Você está recebendo esta mensagem porque se inscreveu no
>>>>>>>> grupo
>>>>>>>> "Python Brasil" dos Grupos do Google.
>>>>>>>> Para cancelar inscrição nesse grupo e parar de receber e-mails
>>>>>>>> dele, envie um e-mail para
>>>>>>>> python-brasi...@googlegroups.com
>>>>>>>> <mailto:python-brasil%2Bunsu...@googlegroups.com>.
>>>>>>>>
>>>>>>>> Para obter mais opções, acesse
>>>>>>>> https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> José Ricardo Borba
>>>>>>>>
>>>>>>>> --
>>>>>>>> --
>>>>>>>> ------------------------------------
>>>>>>>> Grupo Python-Brasil
>>>>>>>> http://www.python.org.br/wiki/AntesDePerguntar
>>>>>>>>
>>>>>>>> <*> Para visitar o site do grupo na web, acesse:
>>>>>>>> http://groups.google.com/group/python-brasil
>>>>>>>>
>>>>>>>> <*> Para sair deste grupo, envie um e-mail para:
>>>>>>>> python-brasi...@googlegroups.com
>>>>>>>>
>>>>>>>> ---
>>>>>>>> Você recebeu essa mensagem porque está inscrito no grupo "Python
>>>>>>>> Brasil" dos Grupos do Google.
>>>>>>>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>>>>>>>> envie um e-mail para python-brasi...@googlegroups.com
>>>>>>>> <mailto:python-brasi...@googlegroups.com>.

Ademir Francisco da Silva

unread,
Dec 23, 2014, 10:59:20 AM12/23/14
to python...@googlegroups.com
Eu não ia comentar, mas ...

"js" pra mim é uma aberração, contudo tive que aprendê-lo e o uso
somente quando estritamente necessário. O que mais me deixa "doido" é os
"debuggers" JSHint e o JSLint não apurarem os mesmos erros, ou seja, o
que um encontra como sendo um erro o outro não, e por que isto? Ora
minha conclusão é que não existe somente um "js", e que a permissividade
do mesmo é de dar nó na cabeça de muita gente, e se isto é bom? Para mim
não, devia ter somente uma sintase assim todos programariam de uma única
forma, o resto é bagunça e conversa "mole" ...

Ademir

PS .: Quer um exemplo? Dependendo de como você esta programando a
comparação pode ser === ou == ... isto é ou não é um remendo na sintase.
Reply all
Reply to author
Forward
0 new messages