脑洞大开:能否建设一个帮助程序员起变量名的垂直搜索引擎

2015-08-10 10:09:13 +08:00
 jesse6679

本帖是从《放过那些程序猿,写文档的事让我们来》衍生出来的,因为原帖楼已经歪了,所以专门新辟一个帖子讨论。

说到被变量起名,还真是一件麻烦的事情。如果变量名起得乱七八糟,代码的可读性会下降很多。
如果用英文全拼吧,表意是很清晰,但是变量名会超长;如果汉语拼音缩写吧,变量名是短了,但总感觉土的掉渣;如果用随机字母拼成的变量名吧,还得写注释记录变量含义,如果漏写了注释,一个月后自己也休想看得懂了;还有变量风格到底是用驼峰命名法,还是用下划线分割,常常很纠结。

所以,作为一个有代码洁癖的码农,每次写程序的时候都要为给变量起名伤透脑筋。最不能忍受的是写HTML和CSS,每个DIV都得起一个名,弄的不好和Bootstrap里的重名,页面就各种错乱斯巴达了。

以前还以为只有我有这种小众烦恼的,在上一个帖子里面也有好几个人提出来,也有类似的“变量命名强迫癌”,原来我并不孤独。

我在考虑,有没有可能建设一个专门帮助程序员给变量起名字的垂直搜索引擎,当程序员输入心中的关键字后,搜索引擎给出与此相关的热门变量名称。
搜索引擎的模式大致上可以分为两类:
1、通过爬虫爬取github网站上的开源代码,搜集其中的海量变量名,然后通过数据清洗、分析、聚类提取出最热门、最常用、最优质、表意最清晰的变量名称供搜索用。
2、把常见的变量命名规则做成搜索策略,来自动构建变量名
3、记录搜索后,程序员选中了那些变量名,只要用户足够多,就能够统计出变量名中的高频词汇。

当然要做这样一个东西,难度是相当大的,仅人才要求这一项就很难搞定。开发团队需要具备开发爬虫经验,同时还要精通搜索算法,要找到这样的开发者谈何容易。如果要做的话,只能把这个项目做成开源项目,零门槛吸引各路技术极客的加入,远程线上协作。

还有一个难题就是投入产出比。需要投入这么大的开发量做出来的产品,到底有多少程序员会用?是不是真的能解决他们的问题?我心里面没有底。

以上只是我个人脑洞大开的想法,欢迎大家和我争论。
如果你也有为变量起名的烦恼,请留言+1,我想统计一下需求。
如果你有更高明的解决方案,欢迎留言论战。
如果你是爬虫、数据分析和搜索算法界的高人大牛,欢迎和我联系,进一步讨论: kepler6679@163.com

4487 次点击
所在节点    奇思妙想
31 条回复
Shy07
2015-08-10 13:31:12 +08:00
@IamI 写的时候无所谓,读起来就痛苦了
btw,胖达好久不见
jesse6679
2015-08-10 13:37:30 +08:00
哈哈,抛了一块砖,想不到讨论得这么欢乐。PHP是世界上最好的语言,不服来战
IamI
2015-08-10 22:47:30 +08:00
@Shy07 长了才有表达能力啊。
好久不见。
crayygy
2015-08-11 10:05:43 +08:00
我个人一直使用的方法是,使用前缀加下划线作为某一类变量的通用,比如 id_user, id_student,pw_user,前缀可以在文档中详细说明,而后缀可以使用英文单词,如果不能完整说明清楚的可以再加一个下划线,比如, id_user_login,这样的。
zix
2015-08-11 10:17:08 +08:00
其实就是词汇量不够……
luzjoy
2015-08-12 11:55:24 +08:00
我目前是:
1,经常用 google 翻译
2,html 使用 一些 :txtUserName btnAdd 等
楼主的想法很好
Hysteria
2015-08-13 21:07:38 +08:00
@zix 还有就是语感不好,或者说语法学得不好,233333
laotaitai
2015-08-14 12:08:28 +08:00
有市场! 要是能集成到编辑器, IDE里, 就更爽了. 到时候收费100美刀, 我都愿意.
WKPlus
2015-08-14 13:19:22 +08:00
+1

两大难事之一呀
NeoAtlantis
2015-08-14 21:24:22 +08:00
科学起名,八卦起名,天干地支起名……
alili
2016-09-22 22:58:34 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212026

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX