2010-06-24 52 views
15

我不是英语发音者,而且我的英语也不太好。我自我思考。我没有和其他人一起在一个共同的代码库上工作。我没有任何编程的朋友。我不与其他程序员一起工作(至少没有人关心这些事情)。程序员词典/非母语者词典

我想这可能解释我的一些问题,在找到好的毫不含糊的类名。我试图找到某种含有经常使用的词和它们的含义的“程序员词典”。在阅读其他代码时,我必须经常查找单词,而且许多人使用缩写,这就带来了额外的挑战。

我非常有限的词汇“迫使”我使用不良类名,如xxManager,xxProvider,xxWhatever。选择变量和方法名称通常不太成问题。

其他非英语人在这里:你是如何设法应付这种情况的?你有没有学好英语这不是问题?或者你有没有读过这么多的代码命名是自然的?或者与英语人士讨论很多?找到任何优秀的网站,文章或其他出版物?正如我从来没有关于我自己的语言编程读什么,我经常试图找到我的语言的话更多的问题......

PS:我发现所有其他职位是关于混合母语和英语...我知道这可能有点偏离主题,可能会被关闭。

编辑:从问题的答案,其他的东西我用一些资源:

+13

你的书面英语比本网站上大多数英语和非英语的人都要好。 – 2010-06-24 21:20:05

+0

也许比许多非英语的人更好,但这是因为我读了很多英语。主要问题是词汇量有限。我想最好的解决方案是“阅读一堆代码”,但我会喜欢一个快捷方式或一些可能需要较少时间的提示。 – simendsjo 2010-06-24 21:26:48

+0

你的母语是什么? – OscarRyz 2010-06-24 21:30:33

回答

1

可能是一个非正统的建议,但我会建议更深入地学习英语(我也是一个非母语)。

暴露尽可能多的英语!看电影,阅读英文小说,听技术播客。

请注意,如果你真的想加深你的英语知识,你可能不会学习很多看“变形金刚”的东西。另一方面,潜入尤利西斯可能也不是一个好策略。

如果你觉得冒险,你总是可以订阅纽约客杂志。它会对你做点事 - 是的,这是闪电般的。 :P

1

具有优良的亲代码文档像你的问题上面会走很长的路!

如果您坚持您所使用的语言,平台和体系结构特有的常见设计模式,其他工程师应该相当容易地理解您的命名法。

+0

我试图在适用的情况下使用设计模式,但还有更多代码:你使用了难以理解的单词,只是为了好玩,是不是?地方性=语言非常具体?命名法=域专用语言 – simendsjo 2010-06-24 21:32:17

+1

是的,我是为了好玩而做的;)地方性=只属于一件事的东西,没有其他的。命名法=为事物命名的系统。听起来你已经很好地编写了其他工程师能够理解的清晰代码。 – 2010-06-24 21:35:18

0

如何使用您的母语? 当然(就像我作为一个奥地利人)一些字母可能不被允许 - 但是谁在乎是否在类名中有Mörder或Moerder(谋杀):)

或者(像我一样)使用类似字典dict.cc或其他东西。 我这样做 - 想想这个班是做什么的 - 它管理游戏会话(例如),所以它会成为GameSessionManager。

缩写是(至少对我来说)一个问题 - 但我已经从其他代码教训 - 事件母语使用不同的缩写。 如果这个类被称为GameSessionMgr或GameSessionMngr没有什么区别。

你不是在写拼写,语法和......的书籍或某种“英语诗歌”。你可以编写代码 - 如果你遵循“你的特定规则” - 你和其他人会(在一段时间后)能够理解你的代码和类名。

+0

凶手;-)来自德国的问候 – 2010-06-24 21:57:56

+0

这是一个缩写 - 从S. King's shining - redrum偷来:) – ManniAT 2010-06-26 19:14:45

0

它将随时间和经验而来。首先尝试(像@Mike A所说的)记录事物,直到代码变得更加清晰,并尝试保持一致。

1

如果你在命名自己的对象方面担心它,只要想想你的本地词是什么你想做什么,然后去获得一个英文翻译字典,并使用英文版。

3

Jargon文件将帮助人们在行业中提供更多晦涩的参考资料。
http://catb.org/jargon/html/go01.html

除了that..finding好名字了你的变量/类/等是。很多时候,这比实际解决问题更困难。下面是一些常见的设计模式的名字一个很好的资源人喜欢用:http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29

例子:
AbcFactory
XyzBridge

+0

我几年没见过这个行话网站,完全忘记了它。它可能至少作为一个很好的参考 – simendsjo 2010-06-24 21:48:54

+0

这是一个很好的条目:http://catb.org/jargon/html/M/metasyntactic-variable.html – 2010-06-24 21:51:00

+3

好的。我将开始命名我所有的课程foo和bar。结束了一些课程。 – simendsjo 2010-06-24 21:59:37

2

其他非英语的人在这里:

如何有你设法应付这个?

良好的代码命名事项。使用英语是首选,但如果你不太熟悉英语,结果可能会适得其反。

我有一个朋友刚刚猜出正确的名字会是什么,结果是可怕的。即

String employiiNeim; // employeeName 
int eich;   // age 

英语的问题,是不发音像西班牙语,德语,荷兰语,和其他人写的(法国人这个小... ehrm特性)其他语言,做类型和发音每一个字母这个单词。

当你正在编码的是业务规则或业务模型时,这变得特别相关。在这种情况下,使用您的母语会好得多。

String nombreEmpleado; 
int edad; 

方式好多了,特别是当你和别人一起工作的时候。

你学过英语吗?这不是问题吗?

叶氏,没有别的办法了,大量的实践。

你可以学习英语,就像你学习编程语言一样。你可以有一位老师和一间教室,每天学习一个小时。或者(我所做的),你可以抓住一些有趣的东西,并尝试理解它。例如,你有一个小文件,描述你关心的事情,你在StackOverflow上阅读博客或阅读内容,翻译你喜欢的歌曲等。

所有这些都是学习形式。没有别的办法,你不会有一天醒来说:“...我知道功夫”我的意思是,说:...“我知道英语”

或者你看了这么多的代码命名来自自然吗?

也有帮助,但是如果你不明白代码的含义,那么......你不会有任何进展。

您将学习编程语言,这将有助于您更好地理解英语,但无法帮助您学习它。这是因为当我们编程我们learn the programming language not the native language.

或者与英语人士讨论了很多?

Eerhh..nope。如果你有这个机会继续下去,它会改善你的听和说,但不一定是你的写作。

提高你的英语词汇和语法最有效的方法是READING(以您的母语阅读也提高了顺便说一句自己的语言)

所以,我会说,多读,你可以。在获得更多信心的同时使用母语,并继续学习。

英语会随时间而来。

0

这也是我遇到的问题,即使是以英语为母语的人。作为一名程序员,我经常发现我需要为类,变量,函数等找到一个描述性词语。我经常发现自己通过解释我的想法向一个朋友或同事询问他们会使用什么样的动机,仔细排除我自己的任何单词已考虑作为类别/功能/变量名称的可能选择,以免抑制其创造性。

在我看来,Area51上的English Language & Usage网站建议是一个很好的地方,可以提出这样一些问题:“你会怎样称呼一个类(或事物)这样做,这个和那个,并且有属性x,y ,and z?

+0

啊,这是Oscar Reyes暗示的网站,我对Area51的地方一无所知,这似乎是一个很好的举措,似乎很多人忘记了大多数人没有英语作为他们的母语:) – simendsjo 2010-06-24 22:27:46

+0

有点触发快乐...不一样的网站..看来你的网站更多的是严重的语法爱好者,而不是那些不太懂英语的人。 – simendsjo 2010-06-24 22:29:33

2

如果找不到“Programmer's Dictionary”,请立即致电1,发布一个新问题:“此字段中缺少什么条目English-as-a-Second -language-程序员?“,然后用你已经发现的10或20个单词/定义进行播种。一旦海报提出了足够的补充,将它移到某个wiki的某处并继续接受稿件,最终可能会创建一个有价值的资源。