Roteiro e lista de conceitos

Prioridades para o desenvolvimento futuro da track de Go


Este documento apresenta uma visão geral dos principais temas em que os contribuidores e os responsáveis pela manutenção se vão provavelmente concentrar nos próximos meses.

Visão geral dos temas

  • Melhorar os exercícios de conceito existentes
  • Criar mais exercícios de conceito (vê a visão geral do plano de estudos abaixo)
  • Definir as listas prerequisites e practices de todos os exercícios de prática (vê a Issue 1396)
  • Corrigir os bugs que ainda restam no test runner
  • Corrigir e reativar o analyzer (por exemplo, vê a Issue 16) e corrigir outros bugs
  • Concluir uma versão boa e estável do representer e pô-la no ar
  • Melhorar/acrescentar abordagens aos exercícios
  • Sincronizar os testes com as problem specs

Visão geral do plano de estudos

Conceitos já existentes

  • basics
  • strings e strings-package
  • numbers (básico) e arithmetic-operators
  • floating-point-numbers
  • booleans
  • comments
  • conditionals-if e comparison
  • conditionals-switch
  • structs
  • type-definitions
  • slices
  • iteration (ciclo for)
  • functions (incl. vários valores devolvidos)
  • maps
  • range-iteration
  • runes
  • pointers
  • methods
  • interfaces
  • errors
  • zero-values (incl. nil)
  • type-conversion
  • type-assertion
  • constants
  • string-formatting
  • packages (import/export)
  • time
  • variadic-functions (introduz ...)
  • randomness
  • regular-expressions
  • stringers

Possíveis conceitos futuros

  • time-duration
  • integer-types
  • panic-recover
  • error-wrapping (errors.Is, errors.As)
  • bytes
  • bitwise-operators
  • goroutines
  • waitgroups
  • mutexes
  • channels e select
  • closures/anonymous-functions/higher-order-functions
  • JSON
  • defer
  • Buffer, io.Reader/io.Writer
  • typed-parameters (generics)
  • context
  • auxiliares de tempo (ticket, sleep, etc.)
  • reflection
  • unsafe
  • init
  • padrão de opções funcionais
  • incorporação de ficheiros

Temas adicionais que podem estar fora do âmbito dos exercícios de conceito:

  • ferramentas (go fmt, go vet, go doc, etc.)
  • escrever testes e exemplos
  • benchmarking
  • profiling
  • go generate
  • opções do compilador