哈喽大家好,我是老尼,我也是作为一名开发者,我的日常工作就是参加需求评审==>编写详细设计文档==>编写代码==>编写单元测试==>组织代码评审,年复一年。换个话来说就是沟通靠口,编码靠手,机械性工作较多,自动化程度不高。
尽管在软件开发过程中有一些能够提升效率的工具和框架,例如通过MyBatis-generator来生成Entity,Mapper等,或者引入封装的SpringBoot框架来提高代码的复用性和开发效率。
但是,在实际开发中还有很多机械性重复性的工作需要开发者去做,这部分工作严重制约了开发者生产力,影响了软件开发效率。
1.编写单元测试繁琐费时:
单元测试代码是保障代码质量必不可少的一环,目前单元测试都需要开发者自行编写。虽然单元测试代码不复杂,但是各种场景众多,编写起来较为繁琐费时。
2.代码补全功能很鸡肋:
传统的IDE只能做到一些简单的代码补全,补全范围仅限于关键字,常用实体类名以及常用函数名等规则很明确的提示,比如: 在IDEA的Java文件里输入tr会提示try。这样的话哪怕是一个很简单的冒泡排序都需要开发者自行编写。IDE完全无法做到联系上文提示下文,根据函数名补全函数体,根据注释说明补全需要实现的功能。因为这些个性化的,有针对性代码补全需要代码助手能够完全理解上下文的意思,然后,补全正确的代码。
3.全员代码评审费时费力:
一个大版本的功能开发完成之后,需要组织组内成员进行代码评审,这种集中式的代码评审虽然能一定程度上保障了代码质量,但是还是存在着不少的痛点问题。
– 代码评审效率低。每个开发人员的编码风格和技术水平不同,评审人员需要花费大量的时间来理解代码,这会导致评审效率低下。
– 代码评审质量难以保证。由于评审人员的技术水平和经验不同,以及代码规范和最佳实践不同,评审质量难以保证。
4.IDE只是个工具:
传统的IDE更多的充当工具的角色,完全做不到与开发者的对话交互,所有的功能代码实现均需要开发者自行实现。你想要IDEA单表的增删改查,或者想要VScode帮你写个页面在目前还是不行的。所以,工作中开发者亟需可以进行交互的代码助手,让代码助手帮助我们实现一些简单的功能。
5沟通协同效率低下:
软件开发过程中,团队之间的沟通协同是必不可少的一环。但是有时候由于缺乏清晰的文档,信息传递不及时等原因可能会导致团队沟通效率低下,甚至会出现返工,重复开发的情况。
好了,今天就说到这了。