BT

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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.