在代码中进行中文命名实践的短期目标

简介: 在代码中进行中文实践的几个短期目标. Some short-term goals of practising naming identifiers in Chinese.

对中文命名的意义不再赘述, 请参看之前的对在代码中使用中文命名的质疑与回应.

去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(Java/JS/Python等, 详见之前的专栏文章), 涉及领域不少但尚未形成明确的重点项目. 发现了一些在业务相关代码使用中文命名的例子(你们在怎样的项目中使用过中文命名? - V2EX), 还未形成社区. 下面是可能的努力方面:

  1. 编写示例代码为中文命名的教程. 之前有一些尝试, 专栏中带有示例代码的文章也都采用了中文命名
  2. 在开源项目中实践中文命名, 也欢迎提出实用项目的想法或者例题面试题
  3. 开发中文命名的API, 如之前的简繁转换库, 离线英汉词典
  4. 补: 在IDE中进行中文命名的辅助工具, 包括输入法与自动补全集成等.
  5. 开发工具, 辅助翻译现有英文命名的源码为中文命名, 以 #1 辅助在线阅读学习代码或者 #2 批量转换一个项目中的所有源码等等

打算将最后一项作为短期内的中心内容, 围绕它开发一系列开源工具. 包括浏览器插件, IDE插件等.

1从两个月前开始实践, 最近基本实现了翻译在线代码段(GitHub和码云)的浏览器插件原型(版本已更新至0.0.11, 效果如题图).

2之前Java源码英翻中是一种可能, 但考虑尽量倚靠IDE本身重构相关API. 首先提取所有代码中的英文命名, 并提取单词(如之前对JDK源码的命名分析), 在机器翻译的基础上, 提供对某些业务术语手动翻译的选项, 之后基于这个词汇表进行源码的批量命名转换.

在此项目实现过程中, 将在源码中使用中文命名, 尽可能提取易于复用的API, 并编写系列技术开发文档. 这样也可以触及上面其他1/2/3三个方面.

项目中必需一些中文自然语言处理和机器翻译相关技术和相关词库/语料数据, 欢迎有兴趣和经验的同仁参与.

2018-11-02

相关文章
|
监控 安全 数据可视化
java基于微服务的智慧工地管理云平台SaaS源码 数据大屏端 APP移动端
围绕施工现场人、机、料、法、环、各个环节,“智慧工地”将传统建筑施工与大数据物联网无缝结合集成多个智慧应用子系统,施工数据云端整合分析,提供专业、先进、安全的智慧工地解决方案。
282 1
|
存储 NoSQL Serverless
位运算的魅力:使用Redis Bitmap高效处理百万级布尔值
位运算的魅力:使用Redis Bitmap高效处理百万级布尔值
516 0
|
1月前
|
存储 监控 搜索推荐
微信如何大量加人不封号?有方法吗
微信风控体系基于三重核心机制:行为链分析(操作频率、设备指纹、网络环境)、社交关系图谱
|
10月前
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(边框设置)
在HarmonyOS 5.0中,ArkTS提供了丰富的边框设置属性,允许开发者自定义组件的边框样式,提升应用的视觉效果和用户体验。本文详细解读了border属性的使用方法,并提供了示例代码,展示了如何设置不同边的边框宽度、颜色、圆角和样式。边框设置在UI开发中具有重要作用,如区分组件、强调重要元素和美化界面。
1028 6
|
Kubernetes Cloud Native 安全
阿里云原生容器服务产品体系-ACK Pro 托管集群
阿里云原生容器服务产品体系-ACK Pro 托管集群
阿里云原生容器服务产品体系-ACK Pro 托管集群
|
JavaScript Java 测试技术
基于SpringBoot+Vue的宠物医院系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的宠物医院系统的详细设计和实现(源码+lw+部署文档+讲解等)
141 10
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
23000 68
|
开发框架 开发工具 Java
从零到高手:一文教你快速上手Vaadin,打造首个炫酷Web应用,开启编程新世界的大门
【8月更文挑战第31天】Vaadin是一款基于Java的Web应用开发框架,以其丰富的组件库、简洁的API及对现代Web标准的支持而广受开发者欢迎。本文将指导你从零开始快速搭建一个简单的Vaadin应用。首先确保已安装JDK 11及以上版本和IDE(如IntelliJ IDEA或Eclipse)。接着使用Spring Initializr创建新项目,并选中“Spring Web”和“Vaadin”依赖。创建项目后,编写主应用类和主页类,实现基本页面功能。最后配置启动页面并运行应用。通过这些步骤,你将成功搭建一个基础Vaadin应用,开启探索更多特性的旅程。
1624 0
|
关系型数据库 MySQL Java
Docker Dockerfile 使用方法
Dockerfile 介绍 当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件。它包含了一系列指令,告诉Docker如何从基础镜像(通常是官方或自定义的操作系统镜像)构建出最终的镜像,以及如何配置容器中的环境、文件和应用程序。 Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置。通过合理使用各种指令,您可以构建出一个满足应用程序需求的定制化镜像,从而实现应用的容器化部署。
410 3
|
人工智能 负载均衡 Java
【Spring实战】动手拥有自己的ai小站!使用Springboot整合Spring Cloud Gateway实现对接open ai并实现令牌记量和限制对话次数
【Spring实战】动手拥有自己的ai小站!使用Springboot整合Spring Cloud Gateway实现对接open ai并实现令牌记量和限制对话次数