Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3196321.3196342acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Impacts of coding practices on readability

Published: 28 May 2018 Publication History

Abstract

Several conventions and standards aim to improve maintainability of software code. However, low levels of code readability perceived by developers still represent a barrier to their daily work. In this paper, we describe a survey that assessed the impact of a set of Java coding practices on the readability perceived by software developers. While some practices promoted an enhancement of readability, others did not show statistically significant effects. Interestingly, one of the practices worsened the readability. Our results may help to identify coding conventions with a positive impact on readability and, thus, guide the creation of coding standards.

References

[1]
2016. Google C++ Style Guide. (2016). https://google.github.io/styleguide/cppguide.html
[2]
Motor Industry Software Reliability Association et al. 2008. MISRA-C: 2004: Guidelines for the Use of the C Language in Critical Systems. MIRA.
[3]
Christian Bird, Alex Gourley, Prem Devanbu, Anand Swaminathan, and Greta Hsu. 2007. Open borders? immigration in open source projects. In Mining Software Repositories, 2007. ICSE Workshops MSR'07. Fourth International Workshop on. IEEE, 6--6.
[4]
C. Boogerd and L. Moonen. 2008. Assessing the value of coding standards: An empirical study. In Software Maintenance, 2008. ICSM 2008. IEEE International Conference on. 277--286.
[5]
Cathal Boogerd and Leon Moonen. 2009. Evaluating the relation between coding standard violations and faults within and across software versions. In Mining Software Repositories, 2009. MSR'09. 6th IEEE International Working Conference on. IEEE, 41--50.
[6]
Raymond PL Buse and Westley R Weimer. 2010. Learning a metric for code readability. Software Engineering, IEEE Transactions on 36, 4 (2010), 546--558.
[7]
Chromium Project. 2016. The Chromium Projects Coding Style. (2016). https://www.chromium.org/developers/coding-style
[8]
Edgar Dale and Jeanne S Chall. 1948. A formula for predicting readability: Instructions. Educational research bulletin (1948), 37--54.
[9]
Jonathan Dorn. 2012. A General Software Readability Model. MSC Thesis avaiable from (http://www.cs.virginia.edu/weimer/students/dorn-mcs-paper.pdf) (2012).
[10]
William H DuBay. 2007. The Classic Readability Studies. Online Submission (2007).
[11]
Xuefen Fang. 2001. Using a coding standard to improve program quality. In Quality Software, 2001. Proceedings.Second Asia-Pacific Conference on. 73--78.
[12]
Rudolph Flesch. 1948. A new readability yardstick. Journal of applied psychology 32, 3 (1948), 221.
[13]
GNOME Project. 2014. Gnome - C Coding Style. (2014). https://developer.gnome.org/programming-guidelines/stable/c-coding-style.html.en
[14]
Les Hatton. 1995. Safer C: Developing Software for in High-Integrity and safety-critical systems. McGraw-Hill, Inc.
[15]
Klaus Havelund and Al Niessner. 2014. Nasa JPL Java Coding Conventions. (2014).
[16]
V.J. Hellendoorn, P.T. Devanbu, and A. Bacchelli. 2015. Will They Like This? Evaluating Code Contributions with Language Models. In Mining Software Repositories (MSR), 2015 IEEE/ACM 12th Working Conference on. 157--167.
[17]
Xiaosong Li. 2006. Using peer review to assess coding standards- a case study. In Frontiers in education conference, 36th annual. IEEE, 9--14.
[18]
Xiaosong Li and Christine Prasad. 2005. Effectively teaching coding standards in programming. In Proceedings of the 6th conference on Information technology education. ACM, 239--244.
[19]
Linux Foundation. 2016. Linux Kernel Coding Style. (2016). https://www.kernel.org/doc/Documentation/CodingStyle
[20]
Bertha A. Lively and Sydney Leavitt Pressey. 1923. A method for measuring the" vocabulary burden" of textbooks.
[21]
Robert C. Martin. 2009. Clean Code: A handbook of agile software craftsmanship. Prentice Hall.
[22]
Steve McConnell. 2004. Code Complete, Second Edition. Microsoft Press, Redmond, WA, USA.
[23]
Microsoft Inc. 2016. C# Coding Conventions. (2016). https://msdn.microsoft.com/en-us/library/ff926074.aspx
[24]
Vishal Midha, Rahul Singh, Prashant Palvia, and Nir Kshetri. 2010. Improving open source software maintenance. Journal of Computer Information Systems 50, 3 (2010), 81--90.
[25]
Daryl Posnett, Abram Hindle, and Premkumar Devanbu. 2011. A simpler model of software readability. In Proceedings of the 8th working conference on mining software repositories. ACM, 73--82.
[26]
Rodrigo Magalhães dos Santos and Marco Aurélio Gerosa. 2018. Impacts of Coding Practices on Readability - Dataset. (March 2018).
[27]
S. Scalabrino, M. Linares-Vsquez, D. Poshyvanyk, and R. Oliveto. 2016. Improving code readability models with textual features. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC). 1--10.
[28]
Michael Smit, Barry Gergel, H James Hoover, and Eleni Stroulia. 2011. Maintainability and source code conventions: An analysis of open source projects. University of Alberta, Department of Computing Science, Tech. Rep. TR11-06 (2011).
[29]
Edward L Thorndike. 1921. The teacher's word book. (1921).

Cited By

View all
  • (2024)Towards Inclusive Source Code Readability Based on the Preferences of Programmers with Visual ImpairmentsProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642512(1-18)Online publication date: 11-May-2024
  • (2023)Investigating Novice Developers’ Code Commenting Trends Using Machine Learning TechniquesAlgorithms10.3390/a1601005316:1(53)Online publication date: 12-Jan-2023
  • (2023)Logistics, Affordances, and Evaluation of Build ProgrammingProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 110.1145/3545945.3569756(179-185)Online publication date: 2-Mar-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC '18: Proceedings of the 26th Conference on Program Comprehension
May 2018
423 pages
ISBN:9781450357142
DOI:10.1145/3196321
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code comprehension
  2. code readability
  3. coding best practices
  4. programming style
  5. software developers' opinions survey

Qualifiers

  • Research-article

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)58
  • Downloads (Last 6 weeks)3
Reflects downloads up to 23 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Towards Inclusive Source Code Readability Based on the Preferences of Programmers with Visual ImpairmentsProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642512(1-18)Online publication date: 11-May-2024
  • (2023)Investigating Novice Developers’ Code Commenting Trends Using Machine Learning TechniquesAlgorithms10.3390/a1601005316:1(53)Online publication date: 12-Jan-2023
  • (2023)Logistics, Affordances, and Evaluation of Build ProgrammingProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 110.1145/3545945.3569756(179-185)Online publication date: 2-Mar-2023
  • (2023)An Exploratory Study on the Usage and Readability of Messages Within Assertion Methods of Test Cases2023 IEEE/ACM 2nd International Workshop on Natural Language-Based Software Engineering (NLBSE)10.1109/NLBSE59153.2023.00015(32-39)Online publication date: May-2023
  • (2023)GitHub Copilot AI pair programmerJournal of Systems and Software10.1016/j.jss.2023.111734203:COnline publication date: 1-Sep-2023
  • (2023)A systematic literature review on the impact of formatting elements on code legibilityJournal of Systems and Software10.1016/j.jss.2023.111728203:COnline publication date: 1-Sep-2023
  • (2023)GitHub Actions: The Impact on the Pull Request ProcessEmpirical Software Engineering10.1007/s10664-023-10369-w28:6Online publication date: 26-Sep-2023
  • (2023)Approach to Improving Java Source Code Considering Non-compliance with a Java Style GuideComputer Science – CACIC 202210.1007/978-3-031-34147-2_9(123-139)Online publication date: 27-May-2023
  • (2022)To What Extent Cognitive-Driven Development Improves Code Readability?Proceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546241(238-248)Online publication date: 19-Sep-2022
  • (2022)Improving Multi-Class Code Readability Classification with An Enhanced Data Augmentation Approach (130)International Journal of Software Engineering and Knowledge Engineering10.1142/S0218194022500656(1-23)Online publication date: 18-Nov-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media