With the ever-increasing use of games, game developers are expected to write efficient code supporting several qualities such as security, maintainability, and performance. However, the continuous need to update the features of games in less duration might compel the developers to use anti-patterns, code smells and quick-fix solutions that may affect the functional and non-functional requirements of the game. These bad practices may lead to technical debt, poor program comprehension, and can cause several issues during software maintenance. Here, in this paper, we introduce "Software Nuggets" as a concept that affects software quality in a negative way and as a superset of anti-patterns, code smells, bugs, software bad practices. We call these Software Nuggets as "G-Nuggets" in the context of games. While there exists empirical research on games, we are not aware of any work on understanding and cataloguing these G-Nuggets. Thus, we propose a catalogue of G-Nuggets by mining and analyzing 892 commits, 189 issues, and 104 pull requests from 100 open-source GitHub game repositories. We use regular expressions and thematic analysis on this dataset for cataloguing game-specific Software Nuggets. We present a catalogue of ten G-Nuggets and provide examples for them present online at: https://phoebs88.github.io/A-Catalogue-of-Game-Specific-Software-Nuggets. We believe this catalogue might be helpful for researchers for further empirical research in the domain of games as well as for game developers to improve quality of games.
翻译:随着游戏的使用不断增加,预计游戏开发者将撰写支持安全、维护性和性能等若干品质的有效代码。然而,由于持续需要更新游戏的功能,延长时间可能会迫使开发者使用反模式、代码气味和速效解决方案,这可能影响到游戏的功能性和非功能性要求。这些不良做法可能导致技术债务,程序理解不善,并可能导致软件维护过程中出现一些问题。在这里,我们提出“软件Nugetes”的概念,以消极的方式影响软件质量,并将其作为反模式、代码气味、错误和软件不良做法的超级组合。我们将这些软件Nugets称为游戏中的“G-Nuggets”。虽然在游戏上存在经验性研究,但我们并不知道在理解和编目这些G-Nuggets方面有任何工作。因此,我们提议通过采矿和分析G-Nuggetes来改进G-Nuggetes, 189个问题,以及100个开源的G-Heggs-Nug-Nb游戏库的高级软件库中104个拉要求。我们使用常规的G-Nug-nual-creal-cle 和Gnational-cal-dal-dal-dal As preals produstrationals produstrations for 提供G-dal-dal-dal-dal-dal-dal-dal-dal-dal)。我们使用这个G-dal-dal-dal-dal-dal-dal-dal-dal 提供这个G-dowdal 和G-dal-dal-dowdal-dexs 提供定期的演示和专题和主题分析。我们提供这些G-dowdal-ds-dal-dal-ds-dal-dal-dal-ds-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-dal-ds和专题和专题和专题和专题和专题分析。我们提供这些数据库的常规和专题和专题和主题分析。我们提供Odal-dal-dal-dal-dal-d