O que deves ter em conta antes de sugerir melhorias nos exercícios
Então encontraste algo que gostarias de melhorar num exercício. Antes de mais, obrigado por te importares e por arranjares tempo para nos dizeres! 💙
Ao alterar um exercício, há algumas coisas a ter em conta, e são ligeiramente diferentes para os Exercícios de Aprendizagem (os que ensinam tópicos do plano de estudos) e para os Exercícios de Prática (os restantes). Abaixo explicamos essas diferenças.
No entanto, antes de mais, há um par de coisas genéricas a ter em conta.
Há bastantes consequências em alterar um exercício:
Por todas estas razões, temos o cuidado de só alterar exercícios quando existe um benefício claro e identificável.
O objetivo dos conjuntos de testes dos exercícios não é serem exaustivos em relação a todos os casos possíveis. Os nossos exercícios não são software de produção, nem estão concebidos para imitar casos de uso do mundo real. Estão concebidos como problemas de treino para te ajudarem a ganhar fluência numa linguagem de programação. Por isso, evitamos deliberadamente tentar abranger todos os casos limite, forçar muita validação de dados de entrada, ou outras preocupações do género do mundo real. Se a melhoria que sugeres serve para apanhar um caso limite ou para verificar a validação de dados de entrada, é pouco provável que seja aceite, a não ser que faça uma diferença substancial no exercício.
Os Exercícios de Aprendizagem são concebidos com um único objetivo: ensinar conceitos. Todas as alterações a um exercício serão consideradas, antes de mais, em função de melhorarem ou não o ensino dos conceitos.
Os Exercícios de Aprendizagem (sobretudo) não são concebidos para serem exaustivos nos seus testes. Também podem ser muitas vezes um pouco artificiais ou rebuscados, para evitar usar conceitos que o estudante ainda não aprendeu, ou para não sobrecarregar o estudante.
Se a alteração que sugeres puder desviar a atenção da aprendizagem do conceito, provavelmente será rejeitada. Se a alteração tornar a aprendizagem mais fácil, será seriamente considerada. Se ficar algures no meio, pode ser aceite, mas é pouco provável que seja prioritária.
A principal coisa a compreender sobre os Exercícios de Prática é que quase todos vivem num repositório central (conhecido como "Problem Specifications"). Fazer uma alteração a um exercício tem, por isso, efeitos em cadeia em todos os percursos. Isso significa que uma boa alteração é especialmente poderosa, pois ajudará todas as linguagens. Mas também aumenta o esforço da alteração, porque vários responsáveis de diferentes percursos têm de concordar com a alteração para que esta seja aceite, e depois os responsáveis de cada linguagem têm de trazer as alterações para os seus percursos.
As alterações aos exercícios também podem fazer com que os conceitos a que estão ligados nos planos de estudos fiquem mais confusos, ou que os exercícios precisem de funcionalidades extra para serem resolvidos, o que altera o ponto em que ficam desbloqueados. Isto também tem de ser considerado em todos os percursos antes de as alterações serem aceites.
Embora tenhamos mecanismos para que apenas alguns percursos tenham determinados casos de teste, tendemos a desaconselhá-lo, pois essa divergência pode gerar confusão tanto nos responsáveis como nos estudantes. Por isso, ao propores alterações aos Exercícios de Prática, tem em conta o panorama geral em todos os percursos.
Embora haja muitas razões para não aceitarmos sugestões, muitas vezes as pessoas têm ideias excelentes que aceitamos!
Também estamos quase sempre abertos a alterações de redação que tragam mais clareza, especialmente nos Exercícios de Aprendizagem.
Para dares às tuas sugestões a melhor hipótese de serem aprovadas, escreve-as de forma a mostrares que consideraste o seguinte:
E lembra-te de expressar opiniões como opiniões e factos como factos. Isso costuma levar às conversas mais produtivas.
Obrigado mais uma vez por arranjares tempo para fazer uma sugestão e por leres este documento!