变量命名神器 CODELF

  • 前言
  • CODELF
    • 介绍
    • 功能
      • 设置语言
      • 搜索关键词
  • IDEA插件
    • 配置
    • 使用
  • 最后

前言

在计算机科学中,有许多老大难的问题。其中有两件事情最为困难:缓存失效和命名。

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton

命名确实是一件让人极为头疼的一件事情,如果你的词汇量不够多,我可以想象到你在各大翻译网站检索的情景,因为我就是这样。

这样做无可厚非,但是非英语母语的同学极易犯的错误是:直接用母语去查对应的英文单词。这是一个糟糕的情况,因为在没有特定的语境前提下,我们查到的单词往往是不合适甚至错误的。

例如:我们去查 收益 这个词,可能得到的单词有 income、proceeds、profit、earnings等。

所以我们可以直接使用其中一个,命名变量或者方法为xxxIncome、xxxProfit吗?不行,还得考虑语境。

如果这里的收益是在收益管理(Revenue Management)的范畴,那命名就应该依据 revenue 这个单词。很明显的是,这个单词在最初的搜索中是不存在的。

因此我们在查询单词的过程中,需要考虑语境,需要用不同的关键词去搜索,最好的是能找到包含这个单词的例句,例如:

也许你认为做到这里,命名的问题也就解决了。但事实上,得到令人一目了然的命名,还需要花点功夫。大家一定经历过这些情况:每个字我都认识,连在一起就看不懂了你这个命名太简略了你这个命名也太长了

这里给一个真实的例子:aroundTopPromotionRoomNightPoiLowestDiscountActivityName
这个变量名大家能看出来什么意思吗?

我来简单拆解一下:

  1. aroundTop:同行中的Top。
  2. Promotion:促销。
  3. RoomNight:间夜(酒店在某个时间段内,房间出租率的计算单位)。
  4. Poi:兴趣点(Point of Interest),用来指代一间房、一个景点、或者一个酒店。
  5. LowestDiscount:折扣最低的。
  6. ActivityName:活动名称。

这个变量名称含义是:促销活动带来的间夜数量排名第一的同行酒店,参与的促销活动中折扣最低的活动。
emmmmm。。。忘了它吧,这是一个失败的命名。

上述给出的案例,仅仅是命名过程中,遇到的常见问题中的一小部分,也难怪程序员们对命名问题如此头疼。甚至是在交付压力下,随便先取一个名称。

好吧,赶快给出一个命名工具吧,至少能有个抓手。下面介绍变量命名神器 —— CODELF。

CODELF

介绍

Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Projec的项目源码,帮开发者从中找出已有的匹配关键字的变量名。

codeif支持中文查询,输入中文意思,codeif可以根据需要查询尽可能满足需要的结果,并展示与查询结果相关的支持各种编程语言的代码片段以及代码库。

它同时支持多种编程语言,基本流行得语言,比如C语言,python,java都支持。如果你不想先打开网站再搜索,你可以在你的代码编辑器安装插件,支持vscode、sublime、atom、Idea等等。

链接: CODELF
相关说明及插件:说明及插件

功能

设置语言

搜索关键词

搜索关键字(支持中文),给出翻译结果以及匹配的变量名,可以拷贝变量名,也可以浏览相应的代码。

IDEA插件

配置

在插件中搜索(关键词 onlinesearch)并安装 Online Search。

在Keymap中设置快捷键。

这里大家自行设置。

配置搜索参数:

  1. 搜索源名称:codelf
  2. 搜索源URL:https://unbug.github.io/codelf/#%s
  3. 占位符(也就是我们搜索的关键词):%s

使用

通过快捷键,并使用codelf进行搜索。

查看搜索结果

最后

CODELF不是万能的,也不是必要的,大家还是靴微提高以下英文水平吧。

补充一句格言:

There’s two hard problems in computer science: we only have one joke and it’s not funny. – Phillip Scott Bowden

变量命名神器 CODELF相关推荐

  1. 变量命名神器Codelf

    变量命名神器Codelf 前言 简介 使用 VSCode插件 关于中文无法搜索的问题 最后 前言 最近在用VSCode写modbusTcp的代码,命名变量的时候实在让人头疼,也听说过匈牙利命名法这些. ...

  2. 杂学--变量命名神器CODELF的学习和使用

    There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Ka ...

  3. 一个变量命名神器:支持中文转变量名

    变量命名的规范,对于我们编程,大家都知道是非常重要的,上次给大家推荐过一个命名辅助工具<程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器>,但大家一致反馈存在2个问题: 1.网 ...

  4. 前端页面生成神器以及后端变量命名神器

    1.imgcook前端页面生成具体看官网上的教程 2.后端变量命名codelf 网址 访问可能有点慢 例如:我输入一个员工,下面就会出面对应的名称 鼠标放上去会有复制的选项,非常方便

  5. 神器 Codelf !

    公众号关注 "五分钟学算法" 设为 "星标",带你挖掘更多开发神器! 大家好,我是小 G. 程序员最头疼的事情除了头发以外就是给变量或函数命名,一开始学编程语言 ...

  6. 关于java变量命名,介绍阿里JAVA命名规范及IDEA实时检测插件的使用以及CODELF取名神器

    JAVA开发中,我们经常会为如何来命名烦心. 有大神曾说计算机科学的两件难事:缓存失效和命名 的确,程序员最头疼的事:命名 但其实,有规范可以遵循.还有工具帮我们取名,更有插件帮我们实时检查是否违反规 ...

  7. 【效率】这个神器可以摆脱变量命名纠结!

    在平时工作中,好多程序员都在为变量的命名纠结不已,随便命名怕以后看不懂,想好好命名可是自己的英文水平又不好,在这个命名上可能需要花费大量的时间,会耽误到开发的效率,今天推荐一个神器,这个神器可以摆脱变 ...

  8. 给初学者推荐一个摆脱变量命名纠结的神器

    在平时工作中,好多程序员都在为变量的命名纠结不已,随便命名怕以后看不懂,想好好命名可是自己的英文水平又不好,在这个命名上可能需要花费大量的时间,会耽误到开发的效率,今天推荐一个神器,这个神器可以摆脱变 ...

  9. 求你了,别再用拼音给变量命名了(小白必看!)

    程序员最难受的事情是什么?看别人的代码.如果还有比这更痛苦的事情,那一定是看别人代码里用拼音写的变量. 除了拼音,当然还有单个字母的.叠字字母的.test系列的,变量太多了,可我的单词储备量不够啊! ...

最新文章

  1. 数据库SQL优化大总结之百万级数据库优化方案
  2. 软件测试作业8:分析自动售货机软件例子生成的判定表图例
  3. make的一些默认操作
  4. Java 正则表达式 工具类 中文 英文 email 手机号 身份证 数字 日期
  5. 在众多编程语言中,你可知哪种语言的安全性更高,安全漏洞最少?
  6. 字符串中第一个只出现一次的字符
  7. Java集合中List,Set以及Map等集合体系详解(史上最全)
  8. 分享免费下载论文的网站
  9. 最大化 LoRa 长距离,秘籍2:接收灵敏度
  10. 【复杂网络】当机器学习遇上复杂网络:解析微信朋友圈 Lookalike 算法
  11. arcgis 空间交集 计算_基于ArcGIS的GIS缓冲区与叠加分析的综合应用——以大型商场选址为例...
  12. OOP-面向对象程序设计
  13. Python学习打卡【Task3】异常处理
  14. 计算机网络ppp,计算机网络 第7章 PPP和Internet接入.ppt
  15. stm32 驱动 TFT LCD
  16. 画一条0.5px的线
  17. Linux-使用uboot命令将Linux镜像和设备树文件下载到DRAM中
  18. 基于Casbin实现ABAC
  19. C语言程序输出水仙花数
  20. 7.2 Cyclic Decompositions and the Rational Form

热门文章

  1. 手把手教你整合SSM实现一个简单的CRUD项目
  2. ps如何把自己的图与样机结合_Ps如何套用样机图?
  3. Adobe PS常用快捷键
  4. Neural ODE introduction
  5. 在vue3中使用markdown编辑器
  6. Android应用程序中的DVM和Linux中进程的区别
  7. 跟开涛学shiro练习代码
  8. window8系统 dns有问题怎么修复,浏览器代理设置,浏览器提示网页无法显示
  9. 「ZJOI2009」多米诺骨牌
  10. php网站的难点,PHP开发有哪些难点