BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

Twitter disponibiliza no GitHub guia de melhores práticas, Effective Scala

por Bienvenido David III , traduzido por Paulo Rebelo em 15 Fev 2012 |

O Twitter abriu publicamente o seu guia sobre o uso eficaz do Scala, Scala Eficaz (Effective Scala). O documento está no GitHub. O documento está licenciado sob a licença Creative Commons.

Scala é uma das principais linguagens de programação utilizadas no Twitter, e a maioria da infraestrutura do Twitter está escrita em Scala. O guia Scala Eficaz contém uma série de pequenos experimentos, um conjunto de boas práticas aprendidas ao usar Scala dentro da empresa. O uso do Scala pelo Twitter é principalmente voltado para a criação de sistemas distribuídos de alto volume, mas a maior parte do guia será aplicável a outros domínios.

Algumas ideias centrais do documento:

  • Além de focar em código correto, sempre pense no leitor; sempre favoreça a legibilidade do código.
  • Escreva código de uso mais geral, mas sem sacrificar a clareza.
  • Tire proveito dos recursos simples da linguagem que oferecem grandes benefícios, mas evite as funcionalidades mais esotéricas.
  • Programe em Scala, e não em Java, Haskell ou Python.
  • Uma linguagem sofisticada requer uma implementação complexa e a complexidade gera complexidade. Portanto, a complexidade é o custo da sofisticação: deve-se sempre garantir que o benefício exceda os seus custos.

Aqui estão os diferentes tópicos do guia, extraídos do sumário:

  • Formatação: Espaços em branco, Nomenclatura, Importações, Chaves, Correspondência de padrões, Comentários;
  • Tipos e Genéricos: Anotações de tipo de retorno, variância, aliases de tipo, implicits;
  • Coleções: Hierarquia, uso, estilo, desempenho, coleções Java;
  • Concorrência: futures, coleções;
  • Estruturas de controle: Recursão, Retornos, laços for e comprehensions, require e assert;
  • Programação funcional: Classes de casos como tipos de dados algébricos, options, correspondência de padrões, funções parciais, ligações de desestruturação (Destructuring bindings), lazyness, chamada pelo nome, flatMap;
  • Programação orientada a objetos: injeção de dependências, traits, visibilidade, tipos estruturais;
  • Coleta de lixo;
  • Compatibilidade com Java.

O guia parte do pressuposto que o leitor já está familiarizado com Scala. Para novos usuários de Scala, o Twitter disponibilizou os materiais escritos para a sua "Escola de Scala", uma série de palestras que ajudam a introduzir os programadores do Twitter em Scala. A página oficial de Aprendizagem do Scala também está disponível no site scala-lang.org. Outra boa introdução é o site Aprenda Scala em pequenos pedaços, uma série de pequenos exemplos, cada um dos quais destaca um ou dois aspectos de Scala.

O guia Effective Scala é um documento vivo, que muda continuamente para refletir as atuais "melhores práticas" do Twitter com a linguagem. Os usuários podem ajudar a melhorar o guia pela criação de um tema na página de questões do Scala Efetivo.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT