Advertisement

Do People Use Naming Conventions in SQL Programming?

  • Aggelos Papamichail
  • Apostolos V. ZarrasEmail author
  • Panos Vassiliadis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12011)

Abstract

In this paper, we investigate the usage of naming conventions in SQL programming. To this end, we define a reference style, consisting of naming conventions that have been proposed in the literature. Then, we perform an empirical study that involves the database schemas of 21 open source projects. In our study, we evaluate the adherence of the names that are used in the schemas to the reference style. Moreover, we study how the adherence of the names to the reference style evolves, during the lifetime of the schemas. Our study reveals that many conventions are followed in all schemas. The adherence to these conventions is typically stable, during the lifetime of the schemas. However, there are also conventions that are partially followed, or even not followed. Over time, the adherence of the schemas to these conventions may improve, decay or remain stable.

Keywords

Naming conventions Coding styles SQL programming 

Notes

Acknowledgements

We would like to thank the anonymous reviewers for their useful suggestions and comments.

References

  1. 1.
    Allamanis, M., Barr, E.T., Bird, C., Sutton, C.A.: Learning natural coding conventions. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pp. 281–293 (2014)Google Scholar
  2. 2.
    Allamanis, M., Barr, E.T., Bird, C., Sutton, C.A.: Suggesting accurate method and class names. In: Proceedings of the Joint 23rd ACM SIGSOFT Symposium on the Foundations of Software Engineering and 15th European Software Engineering Conference (FSE/ESEC), pp. 38–49 (2015)Google Scholar
  3. 3.
    Arnaoudova, V., Penta, M.D., Antoniol, G.: Linguistic antipatterns: what they are and how developers perceive them. Empirical Softw. Eng. 21(1), 104–158 (2016)CrossRefGoogle Scholar
  4. 4.
    Avidan, E., Feitelson, D.G.: Effects of variable names on comprehension an empirical study. In: Proceedings of the 25th International Conference on Program Comprehension (ICPC), pp. 55–65 (2017)Google Scholar
  5. 5.
    Beniamini, G., Gingichashvili, S., Klein-Orbach, A., Feitelson, D.G.: Meaningful identifier names: the case of single-letter variables. In: Proceedings of the 25th International Conference on Program Comprehension (ICPC), pp. 45–54 (2017)Google Scholar
  6. 6.
    Binkley, D., Davis, M., Lawrie, D., Maletic, J.I., Morrell, C., Sharif, B.: The impact of identifier style on effort and comprehension. Empirical Softw. Eng. 18(2), 219–276 (2013)CrossRefGoogle Scholar
  7. 7.
    Butler, S.: Mining Java class identifier naming conventions. In: Proceedings of the 34th IEEE-ACM-SIGSOFT International Conference on Software Engineering (ICSE), pp. 1641–1643 (2012)Google Scholar
  8. 8.
    Butler, S., Wermelinger, M., Yu, Y.: A survey of the forms of Java reference names. In: Proceedings of the 23rd IEEE International Conference on Program Comprehension, (ICPC), pp. 196–206 (2015)Google Scholar
  9. 9.
    Celko, J.: SQL Programming Style. Morgan-Kaufmann, Burlington (2005)zbMATHGoogle Scholar
  10. 10.
    Hofmeister, J.C., Siegmund, J., Holt, D.V.: Shorter identifier names take longer to comprehend. Empirical Softw. Eng. 24(1), 417–443 (2019)CrossRefGoogle Scholar
  11. 11.
    Holywell, S.: SQL Style Guide. www.sqlstyle.guide
  12. 12.
    Kashiwabara, Y., Onizuka, Y., Ishio, T., Hayase, Y., Yamamoto, T., Inoue, K.: Recommending verbs for rename method using association rule mining. In: Proceedings of the 21st IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 323–327 (2014)Google Scholar
  13. 13.
    Lawrie, D., Morrell, C., Feild, H., Binkley, D.: What’s in a Name? A study of identifiers. In: Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC), pp. 3–12 (2006)Google Scholar
  14. 14.
    Martin, R.C.: Clean Code - A Handbook of Agile Software Craftsmanship. Prentice Hall, Upper Saddle River (2009)Google Scholar
  15. 15.
    Skoulis, I., Vassiliadis, P., Zarras, A.V.: Growing up with stability: how open-source relational databases evolve. Inf. Syst. 53, 363–385 (2015)CrossRefGoogle Scholar
  16. 16.
    Swidan, A., Serebrenik, A., Hermans, F.: How do scratch programmers name variables and procedures? In: 17th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 51–60 (2017)Google Scholar
  17. 17.
    Vassiliadis, P., Kolozoff, M., Zerva, M., Zarras, A.V.: Schema evolution and foreign keys: a study on usage, heartbeat of change and relationship of foreign keys to table activity. Computing 101(10), 1431–1456 (2019)CrossRefGoogle Scholar
  18. 18.
    Vassiliadis, P., Zarras, A.V., Skoulis, I.: Gravitating to rigidity: patterns of schema evolution - and its absence - in the lives of tables. Inf. Syst. 63, 24–46 (2017)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Aggelos Papamichail
    • 1
  • Apostolos V. Zarras
    • 1
    Email author
  • Panos Vassiliadis
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of IoanninaIoanninaGreece

Personalised recommendations