Evaluating Python style guides: eye-tracking studies with novice developers.

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: OLIVEIRA , Pablo Roberto Fernandes de.
Orientador(a): GHEYI, Rohit., RIBEIRO, Márcio de Medeiros.
Banca de defesa: MASSONI, Tiago Lima., PERKUSICH, Mirko Barbosa., ALVES, Vander Ramos., ALBUQUERQUE, Danyllo Wagner.
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Campina Grande
Programa de Pós-Graduação: PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Departamento: Centro de Engenharia Elétrica e Informática - CEEI
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://dspace.sti.ufcg.edu.br/handle/riufcg/44747
Resumo: A adoção de guias de estilo é amplamente incentivada no desenvolvimento de software visando melhorar padronização, legibilidade e manutenibilidade. No entanto, muitas das diretrizes desses guias, como o PEP8 do Python, carecem de evidência empírica sobre seu impacto na compreensão de código, sobretudo para iniciantes, e não está claro quais realmente facilitam ou dificultam a leitura. O objetivo deste trabalho é investigar empiricamente como guias de estilo de Python afetam a leitura e compreensão de código em programadores novatos. Para isso, conduzimos dois estudos com 64 novatos em Python. No primeiro, 32 participantes realizaram tarefas de leitura e interpretação envolvendo quatro diretrizes do PEP8, enquanto coletávamos métricas de eye tracking, como tempo, fixações, regressões e número de tentativas, complementadas por entrevistas sobre estratégias e preferências. No segundo, analisamos quatro novos padrões em uma abordagem mista, incluindo autoavaliação emocional após cada tarefa. Os resultados revelaram nuances importantes sobre a eficácia das diretrizes. O padrão recomendado para o Line Break Before Operator reduziu significativamente o tempo das tarefas em 48% regressões visuais em 66%, indicando leitura mais fluida e menor esforço visual. Preferred Negation with is not e Explicit vs. Implicit Returns reduziram o número de fixações em 42% cada e receberam avaliações emocionais positivas, sendo percebidos como mais naturais e claros. Em contraste, Comparison to True, Empty Sequence as False e Use is for None Comparison mostraram indícios de melhor desempenho quando as recomendações do PEP8 não foram seguidas. Apesar de não apresentarem diferenças significativas, os participantes apresentaram menor esforço visual e maior facilidade de interpretação com versões não recomendadas. Esses achados fornecem evidência sobre quais diretrizes favorecem a leitura de código por iniciantes e quais podem gerar mais esforço visual. Eles têm implicações diretas para o ensino de programação, desenvolvimento de ferramentas de linting e definição de boas práticas para novos desenvolvedores, além de contribuir metodologicamente ao integrar métricas objetivas de atenção visual com percepções emocionais dos participantes.
id UFCG_6c07507864acbbad7e96e962b0ee972d
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/44747
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling GHEYI, Rohit.RIBEIRO, Márcio de Medeiros.MASSONI, Tiago Lima.PERKUSICH, Mirko Barbosa.ALVES, Vander Ramos.ALBUQUERQUE, Danyllo Wagner.OLIVEIRA , Pablo Roberto Fernandes de.A adoção de guias de estilo é amplamente incentivada no desenvolvimento de software visando melhorar padronização, legibilidade e manutenibilidade. No entanto, muitas das diretrizes desses guias, como o PEP8 do Python, carecem de evidência empírica sobre seu impacto na compreensão de código, sobretudo para iniciantes, e não está claro quais realmente facilitam ou dificultam a leitura. O objetivo deste trabalho é investigar empiricamente como guias de estilo de Python afetam a leitura e compreensão de código em programadores novatos. Para isso, conduzimos dois estudos com 64 novatos em Python. No primeiro, 32 participantes realizaram tarefas de leitura e interpretação envolvendo quatro diretrizes do PEP8, enquanto coletávamos métricas de eye tracking, como tempo, fixações, regressões e número de tentativas, complementadas por entrevistas sobre estratégias e preferências. No segundo, analisamos quatro novos padrões em uma abordagem mista, incluindo autoavaliação emocional após cada tarefa. Os resultados revelaram nuances importantes sobre a eficácia das diretrizes. O padrão recomendado para o Line Break Before Operator reduziu significativamente o tempo das tarefas em 48% regressões visuais em 66%, indicando leitura mais fluida e menor esforço visual. Preferred Negation with is not e Explicit vs. Implicit Returns reduziram o número de fixações em 42% cada e receberam avaliações emocionais positivas, sendo percebidos como mais naturais e claros. Em contraste, Comparison to True, Empty Sequence as False e Use is for None Comparison mostraram indícios de melhor desempenho quando as recomendações do PEP8 não foram seguidas. Apesar de não apresentarem diferenças significativas, os participantes apresentaram menor esforço visual e maior facilidade de interpretação com versões não recomendadas. Esses achados fornecem evidência sobre quais diretrizes favorecem a leitura de código por iniciantes e quais podem gerar mais esforço visual. Eles têm implicações diretas para o ensino de programação, desenvolvimento de ferramentas de linting e definição de boas práticas para novos desenvolvedores, além de contribuir metodologicamente ao integrar métricas objetivas de atenção visual com percepções emocionais dos participantes.The adoption of style guides is widely encouraged in software development to improve standardization, readability, and maintainability. However, many of the recommendations in these guides, such as Python’s PEP 8, lack empirical evidence regarding their impact on code comprehension, especially for novices, and it remains unclear which rules truly facilitate or hinder reading. The goal of this work is to empirically investigate how Python style guides affect code reading and comprehension among novice developers. To this end, we conducted two studies with a total of 64 novices in Python. In the first study, 32 participants performed code reading and interpretation tasks involving four PEP 8 guidelines, while we collected eye-tracking metrics such as task duration, fixations, regressions, and number of attempts, complemented by interviews on strategies and preferences. In the second study, we analyzed four additional patterns using a mixed-methods approach, including emotional self-assessment after each task. The results revealed important nuances regarding guideline effectiveness. The recommended Line Break Before Operator pattern significantly reduced task duration and visual regressions by 48% and 66%, respectively, indicating smoother reading and lower visual effort. Preferred Negation with is not and Explicit vs. Implicit Returns reduced the number of fixations by 42% each and received positive emotional evaluations, being perceived as more natural and clearer. In contrast, Comparison to True, Empty Sequence as False, and Use is for None Comparison showed indications of better performance when PEP 8 recommendations were not followed. Although these differences were not statistically significant, participants exhibited lower visual effort and greater ease of interpretation with the non-recommended versions. These findings provide evidence of which guidelines support code reading for novices and which may increase visual effort. They have direct implications for programming education, the development of linting tools, and the establishment of best practices for new developers, while also contributing methodologically by integrating objective visual attention metrics with participants’ emotional perceptions.Submitted by Helder Soares Dantas (helder-dantas@hotmail.com) on 2025-12-31T16:27:12Z No. of bitstreams: 1 PABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdf: 4719148 bytes, checksum: 646782640a0acd764eaf3cce5a732b26 (MD5)Made available in DSpace on 2025-12-31T16:27:12Z (GMT). No. of bitstreams: 1 PABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdf: 4719148 bytes, checksum: 646782640a0acd764eaf3cce5a732b26 (MD5) Previous issue date: 2025-09-10Universidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoEye Tracking.Compreensão de códigoGuia de estiloLinguagem de programaçãoUnderstanding codeStyle guideProgramming languageEvaluating Python style guides: eye-tracking studies with novice developers.Avaliando guias de estilo em Python: estudos de rastreamento ocular com desenvolvedores iniciantes.2025-09-102025-12-31T16:27:12Z2025-12-312025-12-31T16:27:12Zhttps://dspace.sti.ufcg.edu.br/handle/riufcg/44747OLIVEIRA, Pablo Roberto Fernandes de. Evaluating Python style guides: eye-tracking studies with novice developers. 2025. 140 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2025.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisenginfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGTEXTPABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdf.txtPABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdf.txttext/plain265672https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/3/PABLO+ROBERTO+FERNANDES+DE+OLIVERA+-+TESE+-+%28PPGCC%29+2025.pdf.txt7a063a8547439085187ff1b428ab80d2MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALPABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdfPABLO ROBERTO FERNANDES DE OLIVERA - TESE - (PPGCC) 2025.pdfapplication/pdf4719148https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/1/PABLO+ROBERTO+FERNANDES+DE+OLIVERA+-+TESE+-+%28PPGCC%29+2025.pdf646782640a0acd764eaf3cce5a732b26MD51riufcg/447472026-01-04 13:32:43.741oai:dspace.sti.ufcg.edu.br:riufcg/44747Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512026-01-04T16:32:43Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.eng.fl_str_mv Evaluating Python style guides: eye-tracking studies with novice developers.
dc.title.alternative.pt_BR.fl_str_mv Avaliando guias de estilo em Python: estudos de rastreamento ocular com desenvolvedores iniciantes.
title Evaluating Python style guides: eye-tracking studies with novice developers.
spellingShingle Evaluating Python style guides: eye-tracking studies with novice developers.
OLIVEIRA , Pablo Roberto Fernandes de.
Ciência da Computação
Eye Tracking.
Compreensão de código
Guia de estilo
Linguagem de programação
Understanding code
Style guide
Programming language
title_short Evaluating Python style guides: eye-tracking studies with novice developers.
title_full Evaluating Python style guides: eye-tracking studies with novice developers.
title_fullStr Evaluating Python style guides: eye-tracking studies with novice developers.
title_full_unstemmed Evaluating Python style guides: eye-tracking studies with novice developers.
title_sort Evaluating Python style guides: eye-tracking studies with novice developers.
author OLIVEIRA , Pablo Roberto Fernandes de.
author_facet OLIVEIRA , Pablo Roberto Fernandes de.
author_role author
dc.contributor.advisor1.fl_str_mv GHEYI, Rohit.
dc.contributor.advisor2.fl_str_mv RIBEIRO, Márcio de Medeiros.
dc.contributor.referee1.fl_str_mv MASSONI, Tiago Lima.
dc.contributor.referee2.fl_str_mv PERKUSICH, Mirko Barbosa.
dc.contributor.referee3.fl_str_mv ALVES, Vander Ramos.
dc.contributor.referee4.fl_str_mv ALBUQUERQUE, Danyllo Wagner.
dc.contributor.author.fl_str_mv OLIVEIRA , Pablo Roberto Fernandes de.
contributor_str_mv GHEYI, Rohit.
RIBEIRO, Márcio de Medeiros.
MASSONI, Tiago Lima.
PERKUSICH, Mirko Barbosa.
ALVES, Vander Ramos.
ALBUQUERQUE, Danyllo Wagner.
dc.subject.cnpq.fl_str_mv Ciência da Computação
topic Ciência da Computação
Eye Tracking.
Compreensão de código
Guia de estilo
Linguagem de programação
Understanding code
Style guide
Programming language
dc.subject.por.fl_str_mv Eye Tracking.
Compreensão de código
Guia de estilo
Linguagem de programação
Understanding code
Style guide
Programming language
description A adoção de guias de estilo é amplamente incentivada no desenvolvimento de software visando melhorar padronização, legibilidade e manutenibilidade. No entanto, muitas das diretrizes desses guias, como o PEP8 do Python, carecem de evidência empírica sobre seu impacto na compreensão de código, sobretudo para iniciantes, e não está claro quais realmente facilitam ou dificultam a leitura. O objetivo deste trabalho é investigar empiricamente como guias de estilo de Python afetam a leitura e compreensão de código em programadores novatos. Para isso, conduzimos dois estudos com 64 novatos em Python. No primeiro, 32 participantes realizaram tarefas de leitura e interpretação envolvendo quatro diretrizes do PEP8, enquanto coletávamos métricas de eye tracking, como tempo, fixações, regressões e número de tentativas, complementadas por entrevistas sobre estratégias e preferências. No segundo, analisamos quatro novos padrões em uma abordagem mista, incluindo autoavaliação emocional após cada tarefa. Os resultados revelaram nuances importantes sobre a eficácia das diretrizes. O padrão recomendado para o Line Break Before Operator reduziu significativamente o tempo das tarefas em 48% regressões visuais em 66%, indicando leitura mais fluida e menor esforço visual. Preferred Negation with is not e Explicit vs. Implicit Returns reduziram o número de fixações em 42% cada e receberam avaliações emocionais positivas, sendo percebidos como mais naturais e claros. Em contraste, Comparison to True, Empty Sequence as False e Use is for None Comparison mostraram indícios de melhor desempenho quando as recomendações do PEP8 não foram seguidas. Apesar de não apresentarem diferenças significativas, os participantes apresentaram menor esforço visual e maior facilidade de interpretação com versões não recomendadas. Esses achados fornecem evidência sobre quais diretrizes favorecem a leitura de código por iniciantes e quais podem gerar mais esforço visual. Eles têm implicações diretas para o ensino de programação, desenvolvimento de ferramentas de linting e definição de boas práticas para novos desenvolvedores, além de contribuir metodologicamente ao integrar métricas objetivas de atenção visual com percepções emocionais dos participantes.
publishDate 2025
dc.date.issued.fl_str_mv 2025-09-10
dc.date.accessioned.fl_str_mv 2025-12-31T16:27:12Z
dc.date.available.fl_str_mv 2025-12-31
2025-12-31T16:27:12Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://dspace.sti.ufcg.edu.br/handle/riufcg/44747
dc.identifier.citation.fl_str_mv OLIVEIRA, Pablo Roberto Fernandes de. Evaluating Python style guides: eye-tracking studies with novice developers. 2025. 140 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2025.
url https://dspace.sti.ufcg.edu.br/handle/riufcg/44747
identifier_str_mv OLIVEIRA, Pablo Roberto Fernandes de. Evaluating Python style guides: eye-tracking studies with novice developers. 2025. 140 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2025.
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
bitstream.url.fl_str_mv https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/3/PABLO+ROBERTO+FERNANDES+DE+OLIVERA+-+TESE+-+%28PPGCC%29+2025.pdf.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/2/license.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/44747/1/PABLO+ROBERTO+FERNANDES+DE+OLIVERA+-+TESE+-+%28PPGCC%29+2025.pdf
bitstream.checksum.fl_str_mv 7a063a8547439085187ff1b428ab80d2
8a4605be74aa9ea9d79846c1fba20a33
646782640a0acd764eaf3cce5a732b26
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1863363580057878528