Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mantendo as aparências

Mantendo as aparências

Apresentação do capitulo 2 "Mantendo as aparências" do livro "Como ser um programador melhor" do Pete Goodlife.

Projeto de "Leitura Coletiva" de livros técnicos no Gaveteiro.

Luiz Rocha

June 24, 2016
Tweet

More Decks by Luiz Rocha

Other Decks in Technology

Transcript

  1. ̣ Claro ̣ Correto ̣ Fácil de ler ̣ Revele

    sua intenção ̣ Feito para ser mantido ̣ Minimize bugs
  2. hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err

    = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; err = sslRawVerify(...);
  3. hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err

    = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; err = sslRawVerify(...);
  4. ̣ Compilador, Máquina Virtual ̣ Seres humanos: ๏ você, naquele

    momento ๏ você, semanas depois ๏ seus colegas ๏ futuros mantenedores
  5. ̣ Separe blocos por propósito ̣ Mantenha blocos pequenos ̣

    Ordem do código importa ̣ Público antes do privado
  6. +----+------------+------------+--------------+ | id | product_id | related_id | relationship |

    +----+------------+------------+--------------+ | 1 | 1 | 8526 | related | | 2 | 1 | 2 | related | +----+------------+------------+--------------+