Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments

被引:20
作者
Birillo, Anastasiia [1 ]
Vlasov, Ilya [2 ]
Burylov, Artyom [3 ]
Selishchev, Vitalii [4 ]
Goncharov, Artyom [4 ]
Tikhomirova, Elena [1 ]
Vyahhi, Nikolay [3 ]
Bryksin, Timofey [1 ]
机构
[1] JetBrains Res, St Petersburg, Russia
[2] St Petersburg State Univ, St Petersburg, Russia
[3] Stepik, St Petersburg, Russia
[4] Comp Sci Ctr, St Petersburg, Russia
来源
PROCEEDINGS OF THE 53RD ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE 2022), VOL 1 | 2022年
关键词
programming education; code quality assessment; learning programming; refactoring; code formatting;
D O I
10.1145/3478431.3499294
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In software engineering, it is not enough to simply write code that only works as intended, even if it is free from vulnerabilities and bugs. Every programming language has a style guide and a set of best practices defined by its community, which help practitioners to build solutions that have a clear structure and therefore are easy to read and maintain. To introduce assessment of code quality into the educational process, we developed a tool called Hyperstyle. To make it reflect the needs of the programming community and at the same time be easily extendable, we built it upon several existing professional linters and code checkers. Hyperstyle supports four programming languages (Python, Java, Kotlin, and Javascript) and can be used as a standalone tool or integrated into a MOOC platform. We have integrated the tool into two educational platforms, Stepik and JetBrains Academy, and it has been used to process about one million submissions every week since May 2021.
引用
收藏
页码:307 / 313
页数:7
相关论文
共 38 条
[1]  
Akcura Korhan, STATIC VERSUS DYNAMI
[2]  
Altadmri A., 2015, P 46 ACM TECHN S COM, P522, DOI DOI 10.1145/2676723.2677258
[3]  
[Anonymous], 2021, Python
[4]  
[Anonymous], 2021, MAINTAINABILITY INDE
[5]  
[Anonymous], 2021, Pylint
[6]  
[Anonymous], 2021, PMD
[7]  
[Anonymous], 2021, CODACY
[8]  
[Anonymous], 2021, SonarQube
[9]  
[Anonymous], 2021, Checkstyle
[10]  
[Anonymous], 2021, HYPERSTYLE TOOL