A Importância Crescente da Qualidade do Código na Educação
Este artigo analisa tendências e pesquisas sobre a qualidade do código na educação em computação.
― 9 min ler
Índice
Na educação em computação, tem rolado uma atenção cada vez maior na Qualidade do Código. Tradicionalmente, o foco principal era garantir que o código funcionasse corretamente e cumprisse as funções desejadas. Mas ter um código de alta qualidade é super importante, já que isso facilita a Manutenção e adaptação do software ao longo do tempo. Essa maior atenção à qualidade do código é crucial para os estudantes que estão aprendendo a programar.
Esse trabalho explora a pesquisa que analisa a qualidade do código em ambientes educacionais. O objetivo é fornecer uma visão geral dos estudos realizados, incluindo os principais tópicos, métodos de pesquisa usados e as linguagens de programação envolvidas. Analisando 195 publicações de vários bancos de dados, que vão de 1976 a 2022, este artigo destaca tendências, desenvolvimentos e novas oportunidades de pesquisa na área de qualidade do código na educação em computação.
A Importância da Qualidade do Código
Qualidade do código se refere às características do código que afetam sua legibilidade, compreensibilidade e manutenibilidade. Quando o código é de alta qualidade, fica mais fácil para outras pessoas (e até para o autor original) lerem e modificarem. Os aspectos importantes da qualidade do código incluem:
- Nomenclatura: Usar nomes claros e descritivos para variáveis, funções e classes.
- Documentação: Oferecer comentários e explicações que deixam claro como o código funciona.
- Layout: Organizar o código de um jeito que seja visualmente atraente e fácil de seguir.
- Fluxo de Controle: Estruturar o código de forma lógica para facilitar o entendimento.
- Estrutura: Seguir as melhores práticas na organização do código em funções e classes.
O código de alta qualidade é frequentemente discutido junto com tópicos de engenharia de software, como testes, revisões de código e garantia de qualidade. Ferramentas que avaliam automaticamente o código podem fornecer feedback sobre sua qualidade, não apenas sobre sua correção. Apesar de ser importante, muitos educadores têm deixado a qualidade do código de lado por fatores como tempo limitado, falta de familiaridade e por acharem que é menos crucial em comparação com a funcionalidade.
Recentemente, tem rolado um aumento notável no interesse pela qualidade do código, o que gera a necessidade de mais pesquisa estruturada nessa área.
Objetivos do Estudo
O objetivo deste estudo é delinear o panorama de pesquisa relacionado à qualidade do código na educação. Ao catalogar publicações existentes, ele ilumina áreas onde a pesquisa já foi feita e identifica lacunas que precisam ser exploradas. Este artigo contribui para o campo ao:
- Fornecer uma lista abrangente de artigos relevantes.
- Oferecer uma visão geral dos tópicos de pesquisa abordados.
- Apontar tendências e potenciais para novas oportunidades de pesquisa.
Os termos e definições relacionados à qualidade do código são variados, tornando essencial esclarecer o que se entende por esse termo no contexto deste estudo.
Definindo Qualidade do Código
Enquanto qualidade de software é um termo amplo, qualidade do código é um aspecto mais específico. O padrão ISO/IEC 25010 descreve várias características de qualidade, incluindo:
- Adequação Funcional: Quão bem o software cumpre seu propósito desejado.
- Usabilidade: A facilidade com que os usuários conseguem utilizar o software.
- Confiabilidade: A capacidade do software de funcionar de forma consistente ao longo do tempo.
- Manutenibilidade: A facilidade com que o software pode ser atualizado ou alterado.
Um código de alta qualidade desempenha um papel vital na garantia da manutenibilidade. Para este estudo, a qualidade do código é vista como as características observáveis no código fonte depois que ele foi escrito. O foco está nas propriedades estáticas-aqueles aspectos que podem ser examinados sem executar o código-ao invés de propriedades dinâmicas, como correção ou desempenho.
Para avaliar a qualidade do código, são usadas categorias de uma rubrica projetada para avaliar a codificação dos alunos. Essas categorias incluem documentação, layout, convenções de nomenclatura, fluxo, expressões, expressões idiomáticas, decomposição e modularização. Problemas nessas áreas são frequentemente chamados de "cheiros de código", que podem indicar falhas de design em um código que, de outra forma, é funcionalmente correto.
Melhorar a qualidade do código pode ser feito através de refatoração, que envolve fazer mudanças graduais para aprimorar o código sem alterar sua funcionalidade geral. Isso pode incluir tarefas como extrair métodos ou introduzir nomes de variáveis mais claros.
Trabalhos Relacionados
Revisões sistemáticas da literatura sobre tópicos de educação em computação têm sido cada vez mais usadas para examinar várias áreas de interesse. Um estudo de mapeamento sistemático visa fornecer uma visão abrangente de uma área específica de pesquisa, categorizando suas publicações. Embora tais estudos sejam comuns na medicina, são menos prevalentes em engenharia de software e educação em computação.
Um estudo notável examinou testes de software em cursos introdutórios de programação, semelhante ao foco desta pesquisa. Outros estudos de mapeamento e revisões de literatura exploraram tópicos relacionados, mas não abordaram especificamente a qualidade do código em contextos educacionais.
Este artigo segue uma abordagem estruturada para conduzir estudos de mapeamento sistemático em engenharia de software e utiliza um método de classificação diferente para os estudos avaliados.
Escopo e Questões da Pesquisa
O escopo deste estudo é examinar práticas educacionais e suporte relacionados à qualidade do código, incluindo instrução, análise, avaliação, suporte a ferramentas e tarefas relacionadas.
As seguintes perguntas de pesquisa foram definidas:
- Qual é a distribuição da pesquisa sobre qualidade do código em contextos educacionais?
- Quais tópicos são primariamente abordados na literatura?
- Quais métodos são usados nos estudos?
- Quais linguagens de programação são o foco da pesquisa?
- Quais tendências podem ser observadas ao longo do tempo?
- Quais campos relacionados poderiam oferecer mais insights sobre a educação em qualidade de código?
Processo de Busca
A busca por publicações relevantes envolveu definir critérios de inclusão e exclusão. Inicialmente, uma lista base de 40 artigos foi criada, que foi verificada quanto à relevância.
Para reunir mais artigos, uma análise de palavras-chave foi realizada, removendo termos excessivamente amplos e muito específicos. Vários bancos de dados foram usados, incluindo Scopus, ACM e IEEE, para garantir uma coleção abrangente de publicações.
A string de busca final incluiu termos associados à qualidade de codificação e educação. A busca foi aplicada a títulos, resumos e palavras-chave, resultando na identificação de 168 novos artigos.
Descobertas e Análise
Os artigos identificados por meio deste estudo foram analisados para categorizá-los por ano, local, tópico, método e linguagem. O primeiro artigo sobre o assunto foi publicado em 1976, mas o interesse pela qualidade do código cresceu bastante na última década.
A análise revelou várias características-chave:
Locais de Publicação
A maioria dos artigos foi publicada em anais de conferências e revistas relacionadas à educação em computação. No entanto, publicações também apareceram em várias outras áreas, como interação humano-computador e engenharia de software.
Tópicos de Pesquisa
Dois grandes tópicos de pesquisa foram identificados: qualidade de programas e ferramentas. Uma parte significativa da pesquisa focou no desenvolvimento de ferramentas projetadas para ajudar alunos a melhorar a qualidade do código, com muitos estudos avaliando a funcionalidade dessas ferramentas em contextos educacionais.
Métodos de Pesquisa
Os métodos usados nos estudos variaram, mas muitos seguiram abordagens quantitativas, frequentemente usando questionários ou ferramentas de avaliação automatizada. A pesquisa qualitativa também estava presente, especialmente em estudos que examinavam as percepções sobre a qualidade do código entre alunos e educadores.
Linguagens de Programação Focadas
Java e Python foram as linguagens de programação mais estudadas, de acordo com sua popularidade em ambientes de ensino. Um número considerável de estudos também se concentrou em linguagens de programação baseadas em blocos, como o Scratch.
Tendências ao Longo do Tempo
Uma análise dos dados indica um crescente interesse na pesquisa sobre qualidade de código nos últimos anos. O aumento no número de publicações reflete a importância desse tópico no contexto da educação em computação. A tendência aponta para uma mudança em direção à integração de discussões sobre qualidade do código nos currículos educacionais.
Campos Relacionados para Mais Pesquisa
A definição de qualidade do código é multifacetada, levando a conexões com vários outros tópicos na educação em computação, incluindo:
- Educação em design de software
- Educação em padrões de design
- Pensamento computacional
- Avaliação automatizada
Cada um desses campos se relaciona com a qualidade do código de maneiras únicas, oferecendo oportunidades adicionais para pesquisas futuras.
Conclusão
O estudo demonstra que a qualidade do código está se tornando uma área importante de foco na educação em computação. Um número crescente de artigos de pesquisa indica uma mudança para reconhecer a importância de ensinar os alunos a produzir código de alta qualidade. Essa área apresenta muitas oportunidades para mais exploração e pesquisa para melhorar o aprendizado dos alunos e aprimorar as práticas de codificação.
Através de uma análise sistemática, este artigo categorizou o trabalho existente e identificou tendências e lacunas na literatura. Abordar essas lacunas poderia levar a melhores práticas educacionais e recursos, garantindo que os alunos desenvolvam as habilidades necessárias para escrever código manutenível e compreensível. Trabalhos futuros devem enfatizar a integração da qualidade do código de forma mais completa nos currículos de computação e explorar as percepções e comportamentos dos alunos relacionados à qualidade do código.
Título: A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography
Resumo: While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education.
Autores: Hieke Keuning, Johan Jeuring, Bastiaan Heeren
Última atualização: 2023-04-26 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2304.13451
Fonte PDF: https://arxiv.org/pdf/2304.13451
Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.