The Role of Method Chains and Comments in Software Readability and Comprehension—An Experiment
Jürgen Börstler,Barbara Paech +1 more
Reads0
Chats0
TLDR
Perceived readability might be insufficient as the sole measure of software readability or comprehension and there are no significant relationships between perceived readability and the other measures taken in the present study.Abstract:
Software readability and comprehension are important factors in software maintenance. There is a large body of research on software measurement, but the actual factors that make software easier to read or easier to comprehend are not well understood. In the present study, we investigate the role of method chains and code comments in software readability and comprehension. Our analysis comprises data from 104 students with varying programming experience. Readability and comprehension were measured by perceived readability, reading time and performance on a simple cloze test. Regarding perceived readability, our results show statistically significant differences between comment variants, but not between method chain variants. Regarding comprehension, there are no significant differences between method chain or comment variants. Student groups with low and high experience, respectively, show significant differences in perceived readability and performance on the cloze tests. Our results do not show any significant relationships between perceived readability and the other measures taken in the present study. Perceived readability might therefore be insufficient as the sole measure of software readability or comprehension. We also did not find any statistically significant relationships between size and perceived readability, reading time and comprehension.read more
Citations
More filters
Journal ArticleDOI
Improving code readability classification using convolutional neural networks
TL;DR: By eliminating the need for manual feature engineering, DeepCRM provides a relatively improved performance, confirming the efficacy of deep learning techniques in the task of code readability classification.
Proceedings ArticleDOI
An Empirical Validation of Cognitive Complexity as a Measure of Source Code Understandability
TL;DR: This work validate a metric called Cognitive Complexity which was explicitly designed to measure code understandability and which is already widely used due to its integration in well-known static code analysis tools.
Journal ArticleDOI
A Qualitative Study of Application-Level Caching
Jhonny Mertz,Ingrid Nunes +1 more
TL;DR: In this paper, the authors present the results of a qualitative study of how developers handle caching logic in their web applications, which involved the investigation of ten software projects with different characteristics.
Proceedings ArticleDOI
When not to comment: questions and tradeoffs with API documentation for C++ projects
TL;DR: A set of questions maintainers and tool developers should consider when improving API-level documentation is identified, which may provide only limited value for developers, while requiring effort maintainers don't want to invest.
Journal ArticleDOI
Commenting source code: is it worth it for small programming tasks?
TL;DR: The results indicate that comments seem to be considered more important in previous studies and by participants than they are for small programming tasks, while other mechanisms, such as proper identifiers, are considered more helpful by participants and they also emphasize the necessity of comments in certain situations.
References
More filters
Book
Design Patterns: Elements of Reusable Object-Oriented Software
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Book
The C++ Programming Language
TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
Book
Refactoring: Improving the Design of Existing Code
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
Proceedings ArticleDOI
Refactoring improving the design of existing code
TL;DR: The present document details the how, why and when to apply refactoring in computer systems that have been poorly designed, this in order to a better performance and maintenance of the constituent components.