How are identifiers named in open source software? About popularity and consistency
Yanqing Wang, Chong Wang, Xiaojie Li, Sijing Yun, Minjing Song

TL;DR
This study analyzes identifier naming conventions in 48 popular open source projects across Java, C, and C++, revealing trends in popularity and consistency, and emphasizing the need for standardization in naming practices.
Contribution
It provides empirical insights into the popularity and consistency of identifier naming conventions across multiple programming languages in open source projects.
Findings
Camel and Pascal are the most popular naming conventions.
Hungarian notation is declining in use.
Java projects show higher naming consistency than C and C++ projects.
Abstract
With the rapid increasing of software project size and maintenance cost, adherence to coding standards especially by managing identifier naming, is attracting a pressing concern from both computer science educators and software managers. Software developers mainly use identifier names to represent the knowledge recorded in source code. However, the popularity and adoption consistency of identifier naming conventions have not been revealed yet in this field. Taking forty-eight popular open source projects written in three top-ranking programming languages Java, C and C++ as examples, an identifier extraction tool based on regular expression matching is developed. In the subsequent investigation, some interesting findings are obtained. For the identifier naming popularity, it is found that Camel and Pascal naming conventions are leading the road while Hungarian notation is vanishing. For…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques
