IntelliJ IDEA,它是java编程语言开发的集成环境。intelliJ被公认为业内最好的java开发工具,特别是在智能代码助手、自动代码提示、重构、JavaEE支持和各种版本的工具中(git、svn等)、JUnit、CVS集成,代码分析, GUI设计的创新功能可以说是非凡的。
当程序员计划涉及代码重构的大型项目时,应检查所需变更的全貌并相应调整,即IntelliJiJ 需要IDEA团队 IDE 的整个 UI 当地化为汉语、日语和韩语时所做的。
IntelliJ 团队使用 JetBrains 代码质量平台 Qodana 作为本地化过程的单一可信来源,项目可以比预期更快地完成,明智的规划、问责和监督促成了这一积极成果。
IntelliJ IDEA 正式版下载v2023.1
挑战:隔离 13,000 硬编码字符串,有效监控进度
为了简化将 UI 本地化为 3 语言的过程,IntelliJ 团队需要从源代码中剥离所有可本地化的项目,并将其放入单独的属性文件中进行翻译。
在超过 13,000 在字符串中,一些可本地化的字符串很容易被忽略并保留在代码中。 本地化 UI 硬编码字符串可能是最难处理的部分,它们只有在软件本地化后才会出现,因此很难找到。 例如,用户安装日语语言包后,UI 有些部分还是英语。
因此,团队需要面对许多繁琐而重复的工作,因此本地化项目负责人开始寻找解决方案:
- 通过不断检查硬编码字符串文本的代码库,自动执行大量工作。
- 将问题分配给负责纠正问题的开发人员。
- 本地化字符串的提取可以进行监督。
解决方案:自动代码检查硬编码字符串文本
本地化项目负责人选择Qodana简化代码检查流程,获得包含以下步骤的项目:
#1. 将 Qodana 连接到 TeamCityIntelliJ团队 Qodana 连接到TeamCity管道,并使用国际代码检查显示属性文件中未按要求提取的硬编码字符串文本。
#2. 配置检查配置文件在检查配置文件中,团队配置了检查范围,以确保平台跳过遗留代码、无字母字符和只包含空间字符串。
团队还确保TeamCity会这样做 Qodana 每行检查生成一份测试报告,如未提取字符串,则视为失败。
#3. 确定扫描频率配置完成后,Qodana 被设置为每 4 每小时检查一次代码。 扫描在服务器上独立运行,而不是在某人的本地机器上,这一点尤为重要,最终为团队节省了宝贵的时间。
第一次运行 Qodana 在 TeamCity 中得到 10,000 失败测试。
#4. 分配任务对于每次测试失败,项目负责人将指派开发人员进行调查,并将硬编码字符串提取到属性文件中。
#5. 监控结果每次 Qodana 检查后,TeamCity 将之前的结果与当前的报告进行比较。 负责某个问题的开发人员提取字符串,TeamCity 测试标记将被修改,这使得项目负责人在监控进度时不需要手动修改测试标记。
此外,团队还可以在那里 Qodana Cloud 监控仪表板中的进度。仪表板实时更新剩余代码问题的信息,并相对不同 Qodana 操作之间的结果。
Qodana 也可以将所选问题添加到基线中,也称为技术债务部分。 因此,整个团队都能在平台上看到同样的问题列表并监控进度, 以下示例显示了操作模式。
关键成果在短短几个月内,失败测试的数量从 10,000 下降到零,平均每天约有 175 修正了一个测试。 团队成功地从源代码中删除了所有的硬编码字符串文本 UI 也无缝本地化,没有意想不到的英语元素。
借助 Qodana,IntelliJ 团队在本地化过程中减少了手动步骤,进而减少了人为错误的数量,使本地化建设更加可靠。 另外,因为每个 4 每小时检查一次,可以更快地发现问题,防止小问题后续变成大问题。
最后,使用团队负责人 Qodana 作为一个单一的可信来源,开发人员可以很容易地纠正分配给他们的问题。
基于这些结果,IntelliJ 团队交付新功能或改进 IntelliJ IDEA 性能将继续使用 Qodana 作为代码质量和资源规划平台。