Syntax 避免语言细节的混淆

Syntax 避免语言细节的混淆,syntax,Syntax,今天有人问我他们的源代码出了什么问题。这是显而易见的。“在if语句中使用双等于代替单等于。嗯,我想……”我记得有些语言实际上使用单等于进行比较。由于我有时会忘记或混淆我使用的几种语言的语法细节,我走到笔记本电脑前尝试一个快速的实验 尝试“快速”实验需要花费一点时间,而且是流程中的一个中断(尽管这种做法可能有利于记忆)。你有什么技巧可以让你清楚地记住多种语言的语法(和其他)细节 (如今,这同样适用于许多类似维基的标记!)在我看来,这只是一种体验。我认为,一旦你用一种语言编写了足够长的代码,你的大脑

今天有人问我他们的源代码出了什么问题。这是显而易见的。“在if语句中使用双等于代替单等于。嗯,我想……”我记得有些语言实际上使用单等于进行比较。由于我有时会忘记或混淆我使用的几种语言的语法细节,我走到笔记本电脑前尝试一个快速的实验

尝试“快速”实验需要花费一点时间,而且是流程中的一个中断(尽管这种做法可能有利于记忆)。你有什么技巧可以让你清楚地记住多种语言的语法(和其他)细节


(如今,这同样适用于许多类似维基的标记!)

在我看来,这只是一种体验。我认为,一旦你用一种语言编写了足够长的代码,你的大脑似乎能够用它进行语言上下文切换

能画红色和黄色曲线的IDE会有所帮助,直到你发展出大脑肌肉记忆


XCode(用于Cocoa/ObjectiveC)的一个恼人的地方是,在编译之前,您不会得到所说的扭曲。(与Eclipse/Java相反,在Eclipse/Java中,你可以看到实时的曲线)。

事实上,我建议不要忘记在Java中避免
if(a=b)
,有人提醒我,只有当a和b是布尔值时才合法!当然,建议对C、C++、JavaScript和许多其他类似C语言都有好处。 类似地,我最近才意识到JavaScript中的
var v
只有函数级范围,而不是大括号级范围

不知何故,这就是语法相似但行为不同的陷阱

对于这则轶事,Lua邮件列表中的一些人抱怨说,这种语言不像C语言,使用了简洁和熟悉的大括号、+=和++、按位运算符。他们说,这会损害语言的采用,因为人们更熟悉类似C的语法

这是毫无意义的,Basic过去(现在)广泛使用其冗长的语法。Pascal(Delphiá)也是如此,许多人发现Lua语法可读且易于学习,对于那些不熟悉编程的人(例如游戏AI专家)来说很好


此外,Lua被设计成集成到C/C++程序中,并用C[++]进行扩展函数。人们说完全不同的语法有助于思维方式的转变。

对我来说,最困难的部分不是语法——通常你在看代码时会进入这种模式。真正困难的部分是记住语言库,这样你就不会一次又一次地发明轮子。现在,如果人们将整理他们的帮助文件,以便在图书馆中轻松搜索特定内容。

这太令人失望了!你的意思是我实际上是在工作,而不是在s.O.闲逛?8PHey,只是分享我的经验!也许其他人会给你一个链接,指向解决你所有问题的软件:)来到这里的人可能会发现这个问题很重要: