{"title":"Are We There Yet? Novices' Code Smells linked to Loop Constructs","authors":"C. Izu, Shrey Chandra","doi":"10.1145/3478432.3499064","DOIUrl":null,"url":null,"abstract":"Research on novice programmers has focused heavily on identifying errors and misconceptions and helping novices to correct them. In contrast, there is a sparse but growing effort into helping students to evaluate and improve the quality of their code once it is functionally correct. One way to improve quality is to simplify code structure by getting rid of poorly written code patterns, or so called code smells. Although code smells for software developers are well catalogued, novices exhibit a different range of code smells compared to experts. A catalogue of novices' code smells and their transformations will help instructors to discuss code quality issues with their students. Smells related to conditional expressions and conditional statements have been reported both in novice and expert studies. Our poster focuses on lesser-known novice code smells related to iteration from the literature and it also introduces a new iterative pattern, named \"AskFirstOrLast\", and how to refactor it.","PeriodicalId":113773,"journal":{"name":"Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2","volume":"57 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-03-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3478432.3499064","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Research on novice programmers has focused heavily on identifying errors and misconceptions and helping novices to correct them. In contrast, there is a sparse but growing effort into helping students to evaluate and improve the quality of their code once it is functionally correct. One way to improve quality is to simplify code structure by getting rid of poorly written code patterns, or so called code smells. Although code smells for software developers are well catalogued, novices exhibit a different range of code smells compared to experts. A catalogue of novices' code smells and their transformations will help instructors to discuss code quality issues with their students. Smells related to conditional expressions and conditional statements have been reported both in novice and expert studies. Our poster focuses on lesser-known novice code smells related to iteration from the literature and it also introduces a new iterative pattern, named "AskFirstOrLast", and how to refactor it.