1. 数据集介绍
原论文QScored: A Large Dataset of Code Smells and Quality Metrics
获取地址
https://ieeexplore.ieee.org/document/9463095
数据集下载https://doi.org/10.5281/zenodo.4468361
百度网盘下载
链接
,提取码:pcwy
数据集介绍:该数据集包含超过86000个GitHub存储库的代码质量信息,其中包含超过11亿行主要用C#和Java编写的代码。代码质量信息包含检测到的7种架构气味、19种设计气味和11种实现气味,以及在项目、包、类和方法级别计算的27种常用代码质量度量。
文件格式如下
下载完成后,进入cmd,使用如下指令,将aa-ah这8个文件合并为qscored_dump_25Jan2021.tar
copy /b qscored_dump_25Jan2021* qscored_dump_25Jan2021.tar
2. 导入数据库
安装PostgreSQL
Download PostgreSQL (enterprisedb.com)
下载v9.5.25
进入SQL shell,输入四个回车,如需密码就输入安装postgresql时设置的密码
待到
postgres=#
出现后,依次输入如下三条指令
CREATE DATABASE qscoreddb WITH TEMPLATE=template0 ENCODING='UTF-8' LC_COLLATE='american_usa' LC_CTYPE='american_usa';
CREATE USER dbwala WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE qscoreddb TO dbwala;
打开pgAdmin III,选中qscoreddb,右键,选中恢复,选择qscored_dump_25Jan2021.tar
选择之前合并得到的qscored_dump_25Jan2021.tar,点击恢复,持续半小时左右,期间整个程序会陷入假死状态,即无响应,不要人为干预。
导入成功后在qscoreddb->架构->public->数据表中,可以查阅相关数据
3. 相关sql语句介绍
获取maven项目的designite_project.id:"4642f052-38b0-46e1-a6c5-be08a6e33f43"
select * from designite_project where name like 'maven';
通过designite_project.id来获取maven项目中所有的Broken Hierarchy(一种设计味道,破碎的层次结构)
select design_smell.description, design_smell.component, design_smell._class
from solution, design_smell, project
where solution.designite_project_id = '4642f052-38b0-46e1-a6c5-be08a6e33f43' and
design_smell.project_id = project.id and
solution.id = project.solution_id and
design_smell.name = 'Broken Hierarchy';
该数据集包含超过86000个GitHub存储库的代码质量信息,其中包含超过11亿行主要用C#和Java编写的代码。代码质量信息包含检测到的7种架构气味、19种设计气味和11种实现气味,以及在项目、包、类和方法级别计算的27种常用代码质量度量。......
代码
气味
从Java源
代码
检测有害
代码
气味的项目
我创建了这个项目,以使用访问者模式对JavaParser的AST导航进行实验。 我正在创建有关
代码
气味的Pro Gradu,因此我决定对一些简单的
代码
气味检测算法进行编程会很有趣。
当前项目仅实现了“长参数列表”气味,实现起来非常简单。 通常,由于检测中使用的
度量
标准是LOC或类似指标,因此容易检测到膨胀剂的气味。
有关
代码
气味的更多信息,请参考以下几篇好论文:
M. Fowler,重构:改进现有程序的设计。 艾迪生-韦斯利(Addison-Wesley),1999年
N. Moha,Y。Gueheneuc,L。Duchien和A. Le Meur,“ DECOR:一种用于规范和检测
代码
和设计气味的方法”,在IEEE Transactions on Software Engineering,vol。1中。 36号1月至2月,第20-3
自动
代码
气味检测器是IntelliJ IDEA插件,致力于自动检测和纠正Java
代码
中的
代码
气味。
下载及安装
可以按照以下步骤直接在IntelliJ IDEA中下载该插件:
按Ctrl + Alt + S或选择文件| 设置(适用于Windows和Linux)或IntelliJ IDEA | 从主菜单中选择“首选项”(对于macOS),然后转到“插件”。
单击浏览存储库按钮。
在打开的对话框(“浏览存储库”对话框)中搜索“自动
代码
气味检测器”,然后选择“下载并安装”。
确认您打算下载并安装所选插件。
单击关闭。
在“设置”对话框中单击“确定”,然后重新启动IntelliJ IDEA,以使更改生效。
嗅觉去污剂
这是一个Visual Studio
Code
扩展,用于检测python
代码
中的不安全编码做法。 这些不安全的编码做法也称为安全气味。 这些气味可能为软件系统的利用留出空间,并导致安全漏洞。 为了帮助从业者,已经开发了此工具以在
代码
中定位这些气味。
调查的气味
Bad File Permission
Command Injections
Cross-site scripting
Constructing SQL upon Input
Debug Set to True in Deployment
Exec Statement
Empty Password
Hard-
code
d Secrets
Hard-
code
d IP Address Binding
Hard-
code
d tmp Directory
Insecure Data Deserialization
Insecure D
在前面的文章中,我们介绍了《提升编程效率:重构》以及《何时开始重构?》。了解了那些能够更好的辅助团队或者个人进行重构,但是要让重构真正产生作用是需要能够
代码
中的坏
味道
,并消除
代码
中的坏
味道
。
如下图是工作中常见的
代码
的坏
味道
:
Code
Smell
s and Refactoring: A Tertiary Systematic Review of Challenges and Observations (JSS,2020)
We do not have until now a benchmark of projects [S22, S39, S40]. Some studies [S13, S18, S39, S40] point a lack of benchmark definitions for
smell
s valida
SonarQube的
代码
气味插件
的
Code
Smell
s插件使开发人员可以手动(即在
代码
审查期间)报告SonarQube未发现的问题,但在评估项目的技术债务时应考虑这些问题。
如果您需要更多信息,请阅读,并查看插件允许您报告的的列表。
安装和使用文档位于。
非常欢迎新功能的想法和。 已创建一个名为,以促进有关此插件的讨论。
希望您会喜欢我喜欢编写的这个小插件! 请不要犹豫,请求新的
代码
气味类型,发送评论以及进行改进。
前面的话:
我发现大家都喜欢在正文前唠嗑几句,可能是做技术的平常本身就比较沉闷,跟周边的人也不能无所顾忌的交流,毕竟国人都比较讲究含蓄。在网上就不同了,可以畅所欲言,所以每次除了分享知识,还顺带交待下自己,让技术也就不那么”冰冷“了。
唠嗑的话:
前几天看自己的为知,发现每年都有个读书计划列表,不过大多都没有完成,今年甚至连计划都还没有。内心觉得不安,正好...