认知驱动开发助力软件团队将代码单元控制在限制之内!
软件工程
2023-05-26 v2
摘要
软件设计技术无疑在良好软件的设计过程中至关重要。多年来,研究人员与实践者提出了大量设计技术。遗憾的是,尽管它们各具特色,不难发现做出次优设计决策从而导致设计退化问题的软件产品。此现象的一个潜在原因是开发者对代码单元可能增长到何种程度缺乏清晰认知;若无此认知,即便开发者装备了全套设计实践,代码单元也会无休止地增长。不同于其他设计技术,认知驱动开发(简称 CDD)聚焦于 1)定义并 2)限制开发者在给定代码单元中可使用的编码元素数量。本文中,我们报告了一个软件开发团队在巴西科技公司 Zup Innovation 使用 CDD 从零构建学习管理工具的经验。通过整理仓库中留下的提交痕迹并结合开发者感知,我们组织了一组可能对有意采用 CDD 者有用的发现与教训。例如,我们注意到通过使用 CDD,尽管产品不断演进,开发者仍能将代码单元保持在较小规模(就大小而言)。此外,尽管限制复杂性是 CDD 的核心,我们也发现开发者倾向于放宽此限制概念以应付软件的不同复杂性。尽管如此,我们注意到 CDD 也能影响测试实践;限制代码单元大小使测试更易执行。
引用
@article{arxiv.2210.07342,
title = {Cognitive-Driven Development Helps Software Teams to Keep Code Units Under the Limit!},
author = {Gustavo Pinto and Alberto de Souza},
journal= {arXiv preprint arXiv:2210.07342},
year = {2023}
}
备注
28 pages, submitted to JSS (in Practice Track)