Como escrever um código bom

Publicado em 24/04/2011 00:11 54 Comentários

Traduzido do xkcd:

Tag: ,

Categorizados em:

54 Comentários

  • Leonardo disse:

    Esqueceu de colocar quando programamos com sono, o codigo funciona por milagre, só Deus sabe como aquilo funciona

    • Denis disse:

      Cara isso funcionou comigo essa semana tava com um projeto com prazo estilo missão impossivel me enchi de redbull pra terminar bixo coisas que eu pesquisava a semanas terminei em um dia kkkkkkkkkk claro tudo tem um preço fiquei com dor no peito e dor de cabeça, mas como todo programador eu me fodo mas termino meus projetos

      • asdsadad disse:

        e se orgulha disso ainda?

      • LogoMan disse:

        Um dia antes de sair para a minha tão esperada semana de folga, recebo um pedido urgente (prazo estourando) que deveria ter recebido com no mínimo 45 dias antes, e no final do expediente. Ah! Foda-se, comunico ao chefe imediato e na volta eu dou continuidade. Não fico com dor de cabeça e a pressão arterial tá ótima.

        • nephs disse:

          Se a funcionalidade já não existia há 4.6 bilhões de anos, não é como se não pudesse esperar mais duas semanas pra ficar pronta

          • Bruno disse:

            Realmente, essa para de cliente ficar dizendo que é urgente é tudo besteira. Esses dias mesmo um cliente que queria uma loja virtual e uma logo, falou que era urgente e tal, me pedindo orçamento, me mandando whatsapp tarde da noite. Fiz rapdidamente o orçamento e então disse que tava tudo certo. Então mandei o boleto e ele ficou apressando pedindo pra ver a logo, isso no dia seguinte que fechou ja queria ver a logo. Depois de dois dias me mandou uma mensagem pedindo desculpa que ficou sem dinheiro e pra deixar o projeto pro próximo mês. Ou seja, onde estava a urgência nisso? Se fosse mesmo urgente não iria adiar o projeto.

    • Marcos Sartori disse:

      Ou não funciona…

      Estou escrevendo um sistema operacional para uma um sistema embarcado arm, e to indo direto madrugada a dentro… O problema é que quando tu ta com muito sono tu começa a enrolar teus codigos de uma maneira e tu não consegue ver a solução mais simples, dai fica inventando mil e uma maneiras de resolver o problema, e acaba criando mil outros no caminho…

      Hoje de madrugada quase que joguei praticamente tudo fora escrevendo um sistema de syscalls por que não estava vendo como dispachar uma tarefa nova quando a atual dava yeld. Hoje acordei e vi que a solução era extremamente mais simples, bastava forçar a CPU a entrar em modo Supervisor quando entrasse na rotina do dispatcher…

      E as merdas que ja fiz em VHDL programando com sono, ta loco, agora vou ter que rescrever as caches e o baramento compartilhado da minha plataforma de hardware, por que o genio resolveu acessar a memoria em meio ciclo e fazer as escritas em memoria passarem direto pela cache, nem preciso dizer que isso fez o meu clock cair no chão…

    • Gringo disse:

      Pois e, to assustado quando o código ta funcionando, tem que ter uma coisa errada rs

  • Cacovsky disse:

    Caraca, verdade seja dita…

  • Código bom é código comentado. Exemplo:

    /*
    * Complete as lacunas:
    * if ( … ) { …; } else if ( … ) { …; } else { …; }
    *
    */

  • Fred disse:

    Como dizemos na empresa: Bom, Bonito e Barato: só pode escolher dois.
    Se é bom e bonito não é barato.
    Se é bonito e barato não é bom.
    Se é bom e barato não é bonito.

  • Saulo Carius disse:

    Hahaha muito boa!

    Comentar código é coisa de programador carente que não tem com quem conversar hahahahha…

    • rafael disse:

      espero nunca ter que dar manutenção num programa seu então hah

    • Alexandre Willian disse:

      Carente é seu nível de profissionalismo ao dizer isso…

      • Marcos Sartori disse:

        Programador bom tem que saber ler codigo, rastrear os cenarios de execução mentalmente…

        Comentario so atrapalha a leitura do codigo…

        • Alexandre Willian disse:

          Comentar é DOCUMENTAR, nao sei os tipos de projetos q vc esta acostumado a trabalhar… mas os meus sempre foram necessários documentos, incluido comentarios. E em alguns projetos da minha empresa os cometarios sao exigidos pelos clientes, pois eles possuem equipes de manutenção e alteração do sistemas, e sem os cometários o trabalho é maior… nao é necessáio ler ou rastrear… so pq temos determinado conhecimento nao significa que temos q dificultar as coisas… tempo é dinheiro… comentario organiza e poupa tempo…

          • Marcos Sartori disse:

            Trabalho com embarcados, mas isso não vem ao caso, por que no trabalho sou obrigado a documentar…

            Isso acho que é mais questão do meu estilo de programação e de código. Não consigo trabalhar em pequenas partes de um sistema sem conhecer o sistema inteiro.

        • Claudio Pereira disse:

          Lá no trampo é basicamente proibido comentar o código. Se tá precisando de comentário, tá precisando ser refatorado. Constantes numéricas diferente de 0 e 1 precisam ter nomes (viram #define’s ou constantes estáticas), strings todas precisam de nomes. Se a função tá grande, é sinal que precisa de refatoração, e assim vai.
          Fazemos code review e em geral o código é facilmente entendido, só alguma mágica ou outra que documentamos.

          • Daniel disse:

            Exatamente. Concordo contigo Claudio e com a metodologia adotada na sua empresa, que é o mesmo que adoto aqui com o pessoal.

            Molecada aprende com o professorzinho da faculdade que é legal colocar um comentário pra cada funçãozinha que faz. As vezes para cada linha ou variável.

            #1 Se o seu código precisa de comentário. Seu código está uma bosta, aprenda a programar melhorar.

            #2 Ninguém dá a devida manutenção no comentário. Analise: Antes um método “Rotina01″, que fazia um fachada para 3 ações, pode em pouco tempo ganhar outras 5 ações, e não ter seu comentário atualizado. E aí PARABENS! você além de ter a merda do comentário (que só deixa teu arquivo enorme), ainda é um comentário enganoso.

            #3 Empresas / clientes que exigem comentário de código, provavelmente não confiam no teu trabalho, e sabe que vai precisar contratar outra empresa/pessoa para dar manutenção. Isso ocorre muito em “fábrica de softwares”, que não passa de outra besteira na nossa área, um bando de programadores JR, com titulo de SR desenvolvendo lixo em grande escala (Não estou julgando ninguém aqui, faz parte da vida trabalhar neste tipo de empresa, eu tb passei por isso).

            O único cenário válido para documentar, é caso você esteja desenvolvendo uma biblioteca fechada, aí sim você documenta as assinaturas de acessos públicos para seus consumidores. Goste ou não, documentar linhas de código ou métodos privados, é amadorismo.

            para os “mimimi, eu gosto de documentar, mimimi, sempre é útil, meu professor da faculdade me ensinou, mimimi”: não tem problema pensar assim, pois assim lhes foi ensinado… mas tentem evoluir essa ideia na mente de vocês…

          • Jairo disse:

            Nunca li tanta verdade como a que vc escreveu Claudio… penso e faço exatamente assim.
            Agora acho importante comentar o código, não comentar cada linha da função, tipo : ó aqui estou setando variável x.. aqui pego x e multiplico por 3… assim por diante..
            Gosto de pôr nomes sugestivos nas funções e “DOCUMENTAR” no código uma breve descrição da função, se eu achar que exista alguma informação adicional importante para o correto funcionamento da função.. procuro definir com poucas linhas a tarefa de uma procedimento/classe.. mas fazer passo-a-passo não dentro da implementação do código, não!

          • Bruno disse:

            Realmente, faz muito sentido seu comentário sobre comentários rsrsrs (apenas um trocadilho para distrair). Acho que comentários devem ser usados de forma moderada, senão acaba atrapalhando o código. Acho importante comentar uma função complexa sobre o que ela faz, mas não tem necessidade de sair comentando tudo quanto é parte do código. A não ser para aprendizado mesmo. Acho que os nomes das variaveis e funções já ajudam muito na hora da manutenção. Por isso que não concordo quando programadores brasileiros criam variaveis em ingles, pra q isso? Eu crio minhas variaveis em portugues mesmo e não me importo que os nomes fiquem as vezes um pouco grande. Tipo, se tiver que criar uma variavel para descrição, eu coloco o nome dela “descrição” mesmo e não “desc”.

  • rodolfo disse:

    Faltou o if de “vai assim mesmo?”

  • Rafael disse:

    Falto a condição de que se estiver com sono faça uma pausa de 30 minutos pra tomar café!

  • renato cron disse:

    assim os projetos nunca terminam!

  • @luis0liveira disse:

    programadores faca na caveira:
    “homens de preto o que você faz?!
    eu escrevo fontes, que assustam o satanás!”

  • depois que o sono vem, o codigo bom aparece!!!

  • Jonathan disse:

    Caramba, só eu q no final de semanda sem free-lance pra fazer, tento pensar em tudo, menos programação? Folga pra mente!

  • @adriells disse:

    Devia ter uma cláusula: consulte a documentação. Tecnicamente deveria a saída do labirinto!

  • É a mais pura verdade, viu! hahaha

  • Diogo Fabricio disse:

    Quase uma lenda urbana…ahsusahshauhsauh

  • Kamilla disse:

    Não acontece isso se você usar TDD e Refatoração da forma correta! ;)

  • Chavão disse:

    Para os arrogantes programadores de Python e Ruby o fluxo ficaria assim:

    Inicie o projeto -> Quer fazer as coisas direito ou fazer rápido? -> Direito e Rápido -> Código bom!

    Eu ainda queria ver um projeto dessa galera que só sabe fazer código “maravilhoso” e super na velocidade da luz para ver se é tão maravilhoso assim.

    • Edivan disse:

      Acredito que se o programador é um bom profissional ele irá escrever um bom código em qualquer linguagem! Vejo que muitos programadores não estão preocupados com a qualidade de seu código mas sim em entregar o projeto no prazo com medo de perder o emprego, desta forma já vi muito programador fazer muito código porco. Os bons profissionais se valorizam. O código é a imagem e semelhança de seu programador. :)

  • Thiago Dantas disse:

    Extreme GoHorse resolve isso ai facilmente!

  • Micael Pinto de Almeida disse:

    É vero!!!

  • fagner disse:

    O bom de tudo e quando o programador e que nem eu ta começando o por causa de uma virgula no código fica horas mudando o código e quando descobre que era uma virgula já e quase 3 ou 4 da manhã.

  • luis henrique disse:

    isso ta me parecendo XGH.

  • Lawrence disse:

    Eu vejo vários comentários legai por aqui, mas a comunidade estranhamente fica dando downvote sem muito motivo.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>