首页> 外文会议>IEEE Symposium on Visual Languages and Human-Centric Computing >Code Quality Improvement for All: Automated Refactoring for Scratch
【24h】

Code Quality Improvement for All: Automated Refactoring for Scratch

机译:所有代码质量改进:用于划痕的自动重构

获取原文

摘要

Block-based programming has been overwhelmingly successful in revitalizing introductory computing education and in facilitating end-user development. However, poor code quality makes block-based programs hard to understand, modify, and reuse, thus hurting the educational and productivity effectiveness of blocks. There is great potential benefit in empowering programmers in this domain to systematically improve the code quality of their projects. Refactoring–-improving code quality while preserving its semantics–-has been widely adopted in traditional software development. In this work, we introduce refactoring to Scratch. We define four new Scratch refactorings: Extract Custom Block, Extract Parent Sprite, Extract Constant, and Reduce Variable Scope. To automate the application of these refactorings, we enhance the Scratch programming environment with powerful program analysis and transformation routines. To evaluate the utility of these refactorings, we apply them to remove the code smells detected in a representative dataset of 448 Scratch projects. We also conduct a between-subjects user study with 24 participants to assess how our refactoring tools impact programmers. Our results show that refactoring improves the subjects’ code quality metrics, while our refactoring tools help motivate programmers to improve code quality.
机译:基于块的编程在振兴介绍性计算教育和促进最终用户的发展方面,这一直是绝大陆成功的。然而,代码质量不佳使基于块的程序难以理解,修改和重用,从而损害了块的教育和生产力效率。在该域中的程序员赋予授权的程序员来系统地提高项目的代码质量存在巨大的潜在好处。重构 - 在保留其语义时提高代码质量 - 已广泛采用传统的软件开发。在这项工作中,我们引入重构来划伤。我们定义四个新的临时重写:提取自定义块,提取父精灵,提取常量,降低变量范围。为了自动化这些重构的应用,我们可以增强具有强大的程序分析和转换例程的划痕编程环境。为了评估这些重构的实用程序,我们将它们应用于删除在448个划痕项目的代表数据集中检测到的代码气味。我们还通过24名参与者进行主题用户学习,以评估我们的重构工具如何影响程序员。我们的结果表明,重构改进了主题的代码质量指标,而我们的重构工具有助于激励程序员提高代码质量。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号