How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Febriyanti, Indira, Fan, Youmei, Shimari, Kazumasa, Matsumoto, Kenichi, Kula, Raula Gaikovina
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912066439217152
author Febriyanti, Indira
Fan, Youmei
Shimari, Kazumasa
Matsumoto, Kenichi
Kula, Raula Gaikovina
author_facet Febriyanti, Indira
Fan, Youmei
Shimari, Kazumasa
Matsumoto, Kenichi
Kula, Raula Gaikovina
contents Python is very popular because it can be used for a wider audience of developers, data scientists, machine learning experts and so on. Like other programming languages, there are beginner to advanced levels of writing Python code. However, like all software, code constantly needs to be maintained as bugs and the need for new features emerge. Although the Zen of Python states that "Simple is better than complex," we hypothesize that more elegant and proficient code might be harder for the developer to maintain. To study this relationship between the understanding of code maintainability and code proficiency, we present an exploratory study into the complexity of Python code on three Python libraries. Specifically, we investigate the risk level of proficient code inside a file. As a starting point, we mined and collected the proficiency of code from three PyPI libraries totaling 3,003 files. We identified several instances of high proficient code that was also high risk, with examples being simple list comprehensions, 'enumerate' calls, generator expressions, simple dictionary comprehensions, and the 'super' function. Our early examples revealed that most code-proficient development presented a low maintainability risk, yet there are some cases where proficient code is also risky to maintenance. We envision that the study should help developers identify scenarios where and when using proficient code might be detrimental to future code maintenance activities.
format Preprint
id arxiv_https___arxiv_org_abs_2410_05683
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries
Febriyanti, Indira
Fan, Youmei
Shimari, Kazumasa
Matsumoto, Kenichi
Kula, Raula Gaikovina
Software Engineering
Python is very popular because it can be used for a wider audience of developers, data scientists, machine learning experts and so on. Like other programming languages, there are beginner to advanced levels of writing Python code. However, like all software, code constantly needs to be maintained as bugs and the need for new features emerge. Although the Zen of Python states that "Simple is better than complex," we hypothesize that more elegant and proficient code might be harder for the developer to maintain. To study this relationship between the understanding of code maintainability and code proficiency, we present an exploratory study into the complexity of Python code on three Python libraries. Specifically, we investigate the risk level of proficient code inside a file. As a starting point, we mined and collected the proficiency of code from three PyPI libraries totaling 3,003 files. We identified several instances of high proficient code that was also high risk, with examples being simple list comprehensions, 'enumerate' calls, generator expressions, simple dictionary comprehensions, and the 'super' function. Our early examples revealed that most code-proficient development presented a low maintainability risk, yet there are some cases where proficient code is also risky to maintenance. We envision that the study should help developers identify scenarios where and when using proficient code might be detrimental to future code maintenance activities.
title How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries
topic Software Engineering
url https://arxiv.org/abs/2410.05683