• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

评估用于规范 #ifdef 注释的重构方法:一项针对新手的眼动追踪研究。

Evaluating refactorings for disciplining #ifdef annotations: An eye tracking study with novices.

作者信息

da Costa José Aldo Silva, Gheyi Rohit, Ribeiro Márcio, Apel Sven, Alves Vander, Fonseca Baldoino, Medeiros Flávio, Garcia Alessandro

机构信息

Federal University of Campina Grande, Campina Grande, Brazil.

Federal University of Alagoas, Maceió, Brazil.

出版信息

Empir Softw Eng. 2021;26(5):92. doi: 10.1007/s10664-021-10002-8. Epub 2021 Jul 7.

DOI:10.1007/s10664-021-10002-8
PMID:34248397
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC8262123/
Abstract

The C preprocessor is widely used in practice. Conditional compilation with #ifdef annotations allows developers to flexibly introduce variability in their programs. Developers can use disciplined annotations, entirely enclosing full statements with preprocessor directives, or undisciplined ones, enclosing only parts of the statements. Despite some debate, there is no consensus on whether a developer should use exclusively disciplined annotations. While one prior study found undisciplined annotations more time-consuming and error-prone, another study found no difference between disciplined and undisciplined annotations regarding task completion time and accuracy. In this article, we evaluate whether three fine-grained refactorings to discipline #ifdef annotations correlate with improvements in code comprehension and visual effort with an eye tracker. We conduct a controlled experiment with 64 human subjects who were majoritarily novices in the C programming language. We observed statistically significant differences for two refactorings to discipline annotations with respect to the analyzed metrics (time, fixation duration, fixation count, and regressions count) in the code regions changed by each refactoring.

摘要

C预处理器在实践中被广泛使用。使用#ifdef注释进行条件编译使开发人员能够在程序中灵活地引入变化。开发人员可以使用规范的注释,即用预处理器指令完全包围完整的语句,也可以使用不规范的注释,即只包围语句的部分内容。尽管存在一些争议,但对于开发人员是否应该只使用规范的注释并没有达成共识。虽然之前的一项研究发现不规范的注释更耗时且容易出错,但另一项研究发现规范注释和不规范注释在任务完成时间和准确性方面没有差异。在本文中,我们使用眼动仪评估对#ifdef注释进行的三种细粒度重构是否与代码理解和视觉工作量的改进相关。我们对64名主要是C编程语言新手的受试者进行了一项对照实验。在每个重构所改变的代码区域中,我们观察到两种用于规范注释的重构在分析指标(时间、注视持续时间、注视次数和回退次数)方面存在统计学上的显著差异。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/72a044944f91/10664_2021_10002_Fig7_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/cdc35fc68a26/10664_2021_10002_Fig1_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/764e8cbad54c/10664_2021_10002_Fig2_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/ca294b7c67d6/10664_2021_10002_Fig3_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/63a42b29e22f/10664_2021_10002_Fig4_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/9adb34d5a224/10664_2021_10002_Fig5_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/3633a8723b90/10664_2021_10002_Fig6_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/72a044944f91/10664_2021_10002_Fig7_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/cdc35fc68a26/10664_2021_10002_Fig1_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/764e8cbad54c/10664_2021_10002_Fig2_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/ca294b7c67d6/10664_2021_10002_Fig3_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/63a42b29e22f/10664_2021_10002_Fig4_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/9adb34d5a224/10664_2021_10002_Fig5_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/3633a8723b90/10664_2021_10002_Fig6_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/cbe8/8262123/72a044944f91/10664_2021_10002_Fig7_HTML.jpg

相似文献

1
Evaluating refactorings for disciplining #ifdef annotations: An eye tracking study with novices.评估用于规范 #ifdef 注释的重构方法:一项针对新手的眼动追踪研究。
Empir Softw Eng. 2021;26(5):92. doi: 10.1007/s10664-021-10002-8. Epub 2021 Jul 7.
2
Seeing confusion through a new lens: on the impact of atoms of confusion on novices' code comprehension.从新视角看混淆:论混淆原子对新手代码理解的影响。
Empir Softw Eng. 2023;28(4):81. doi: 10.1007/s10664-023-10311-0. Epub 2023 May 18.
3
Historical perspective of code clone refactorings in evolving software.代码克隆重构在演进软件中的历史透视。
PLoS One. 2022 Dec 1;17(12):e0277216. doi: 10.1371/journal.pone.0277216. eCollection 2022.
4
On the accuracy of code complexity metrics: A neuroscience-based guideline for improvement.关于代码复杂度度量的准确性:基于神经科学的改进指南。
Front Neurosci. 2023 Feb 7;16:1065366. doi: 10.3389/fnins.2022.1065366. eCollection 2022.
5
Novice and Expert Anesthesiologists' Eye-Tracking Metrics During Simulated Epidural Block: A Preliminary, Brief Observational Report.新手与专家麻醉医师在模拟硬膜外阻滞期间的眼动追踪指标:一项初步简短观察报告
Local Reg Anesth. 2020 Aug 21;13:105-109. doi: 10.2147/LRA.S267879. eCollection 2020.
6
Using Eye Movements Recorded in the Visual World Paradigm to Explore the Online Processing of Spoken Language.利用视觉世界范式中记录的眼动来探索口语的在线加工过程。
J Vis Exp. 2018 Oct 13(140):58086. doi: 10.3791/58086.
7
The Role of Extrafoveal Vision in Source Code Comprehension.视网膜中央凹外视觉在源代码理解中的作用。
Perception. 2017 May;46(5):541-565. doi: 10.1177/0301006616675629. Epub 2016 Nov 4.
8
Rubbing salt in the wound? A large-scale investigation into the effects of refactoring on security.往伤口上撒盐?对重构对安全性影响的大规模调查。
Empir Softw Eng. 2023;28(4):89. doi: 10.1007/s10664-023-10287-x. Epub 2023 May 24.
9
Computing eye gaze metrics for the automatic assessment of radiographer performance during X-ray image interpretation.计算眼动注视指标以自动评估X射线图像解读过程中放射技师的表现。
Int J Med Inform. 2017 Sep;105:11-21. doi: 10.1016/j.ijmedinf.2017.03.001. Epub 2017 May 15.
10
Web Camera Based Eye Tracking to Assess Visual Memory on a Visual Paired Comparison Task.基于网络摄像头的眼动追踪技术在视觉配对比较任务中评估视觉记忆
Front Neurosci. 2017 Jun 28;11:370. doi: 10.3389/fnins.2017.00370. eCollection 2017.

引用本文的文献

1
Seeing confusion through a new lens: on the impact of atoms of confusion on novices' code comprehension.从新视角看混淆:论混淆原子对新手代码理解的影响。
Empir Softw Eng. 2023;28(4):81. doi: 10.1007/s10664-023-10311-0. Epub 2023 May 18.

本文引用的文献

1
Information extraction from shadowed regions in images: an eye movement study.从图像阴影区域提取信息:一项眼动研究。
Vision Res. 2015 Aug;113(Pt A):87-96. doi: 10.1016/j.visres.2015.05.019. Epub 2015 Jul 2.
2
An adaptive algorithm for fixation, saccade, and glissade detection in eyetracking data.眼动追踪数据中注视、眼跳和滑行检测的自适应算法。
Behav Res Methods. 2010 Feb;42(1):188-204. doi: 10.3758/BRM.42.1.188.
3
In the eye of the beholder: a survey of models for eyes and gaze.在观察者的眼中:眼睛和注视模型的调查。
IEEE Trans Pattern Anal Mach Intell. 2010 Mar;32(3):478-500. doi: 10.1109/TPAMI.2009.30.
4
Eye movements in reading and information processing: 20 years of research.阅读与信息处理中的眼动:二十年研究
Psychol Bull. 1998 Nov;124(3):372-422. doi: 10.1037/0033-2909.124.3.372.
5
Eye movements in reading and information processing.阅读与信息处理中的眼球运动。
Psychol Bull. 1978 May;85(3):618-60.