In general, good programming style says you put in comments that are going to be valuable in helping you as a reader understand what's going on inside of the code.
通常来说,优秀的编码风格意味着,你要放进去的注释,在帮助代码阅读者,理解代码内部,是怎么工作的。
I took a programming class and did okay in it.
我上过一次编程课,成绩也还可以。
And today nobody advocates a programming language that does not support it in some sort of way.
今天没有人会推荐一种,不支持面向对象编程的语言。
I give you a little animation that was implemented with this programming language in just a night called Raining Men.
这里有一个用这种语言编写的,叫做Raining,Men的小动画,我只用了一晚上就完成了编程。
We hand you a bunch of programming code that we wrote because this is very much the norm in the real world.
我们给你们一些我们自己写的代码,因为在现实世界中这都是非常正常的。
And this too is where the power of recursion comes in in a programming language.
这也是在编程语言中,对递归很有影响的一点。
Realize in programming languages like C, there is a set of very well-defined rules, and this is in the recommended books.
同样,在像C语言这样的编程语言里,也有,一套非常明确的规则,这些都在推荐图书里面。
How many of you have heard the term used before? How may have you heard the term used before in terms of programming languages? Great. For the rest you, don't sweat it. This is a highfalutin term that computer scientists use to try and make them look like they're smarter than they really are.
这里就要引入递归的概念了,你们中有多少人以前听过这个词?,你们中有多少人在编程语言中,用过这个词?,很好,剩下的同学也不要担心,这是电脑科学家们用来让自己,显得更聪明的夸张词汇。
As we talk about this, as people talk about this, in the context of our object-oriented programming, they typically will talk about it in terms of message pass, a message passing metaphor.
当我们讨论这个的时候,当人们讨论这个的时候,在面向对象编程的背景下它们往往会,被称为消息传递,也就是传递隐喻的消息。
Pseudo code. Now, you're all linguistic majors, pseudo means false, this sounds like code that ain't going to run, and that's not the intent of the term. When I say pseudo code, what I mean is, I'm going to write a description of the steps, but not in a particular programming language.
伪代码,基于你们都是学语言的,伪代码意味着不正确,这听起来就像是没法运行的代码,这可不是我们学这个的目的,当我说到伪代码的时候,我的意思是要对步骤进行一个描述,而不是某种特定的编程语言。
Now, unlike high school math or in algebra Z where you call things X and Y and Z, in programming, in computer science, you're actually dealing with humans where it's useful to have a variable name that's more descriptive than X and Y and Z.
不像高中数学或者代数中,称为X和Y和,在程序设计和计算机科学里,你实际上是在和人打交道,在这里有个描述性比xyz更强的,变量名称是很重要的。
in graduate school I used a programming language called Perl a lot.
在研究院时,我经常使用一种,叫做Perl的,编程语言。
OK. Note, by the way, if I chase through each possible path, like there's some IFs in here, if there's some places to go, at least in this piece of code, every possible path through this code ends in a return. And that's a good programming discipline, to make sure that happens.
注意一下,如果我跟进每一条可能的路径,像是这里的,起码在这段代码中就有很多走向,这段代码中的每一条可能路径,在结尾都会返回一个值,这就是一条很好的编程定律,请确保这样做。
It's not true, by the way, of all programming languages. In fact, Professor Guttag already talked about that, in some languages lists take a time linear with the length to get to it.
顺便说一句这在大部分,编程语言中做不到,实际上Guttag教授已经说过这一点了,在一些语言中取得数组,要花费时间是线性长度的。
Meaning, we're going to try to help you with how to develop good programming style, but you need to write in a way in which it is going to be easy for you to spot the places that cause those semantic bugs to occur.
这意味着我们会帮助你,形成良好的编程风格,但是你需要去以一种,容易发现,程序中,容易发生语义bug的地方的方式去写代码。
应用推荐