Questions tagged «terminology»

有关与系统开发生命周期相关的词语和概念的客观含义或共同理解的问题


10
为什么Today()是不纯函数的示例?
看起来,当阅读类似于Wikipedia的有关“纯函数”的文章时,它们被Today()列为不纯函数的示例,但对我来说似乎很纯净。是否因为没有正式的输入参数?为什么在一天中的实际时间不被视为“函数的输入”,在这种情况下,如果您给它相同的输入,即一次执行today()两次,或者又返回原点以再次执行它(可能是一个假设: )),输出将是同一时间。Today()永远不会给您一个随机数。它总是给您一天中的时间。 维基百科的文章说“不同的时间会产生不同的结果”,但这就像说不同x sin(x)会给您带来不同的比率。并且sin(x)是他们纯函数的例子。

24
什么是抽象?[关闭]
对于程序员所使用的编程抽象,是否存在公认的定义?[请注意,不要将编程抽象与“抽象”一词的字典定义混淆。]是否存在明确的甚至是数学的定义?有哪些清晰的抽象示例?

5
可以多次应用并且永远不会改变状态的单词是什么?
我想记住一个单词,我认为它与计算或数据库理论有关。最接近的同义词是,atomic但不完全是。基本上,这是一种计算,即使连续运行多次也应产生相同的结果,这意味着它不会自己产生副作用。 我在有关chmod命令(或其他一些与权限相关的操作)的堆栈溢出答案中专门遇到了这个词。 希望这足以进行下去。在Wikipedia上戳戳并没有太大帮助。

8
“抽象层”和“间接级别”之间有什么区别?
我不确定这两个术语是否可以互换使用。也许计算机科学上有一些学术上的区别与日常编程无关?还是我可以在不误的情况下互换使用这两个术语?也许这取决于我同时使用这两个术语的环境? 编辑:关于为什么我发现两个术语可能可以互换的原因是有关抽象层的Wikipedia条目。在那里,您可以找到David Wheelers引述的“计算机科学中的所有问题都可以通过另一种间接解决方案来解决。”

3
在Python中,什么是“类方法”和“实例方法”?
聊天中已经讨论了一个问题(该问题本身与该问题无关),这表明我可能不知道Python。 在我看来,尽管术语在不同语言之间是不同的,但我们通常可以将功能归类为: [免费]功能 静态方法/静态成员函数 非静态方法/非静态成员函数 显然,在Python中,还有另一种不适用于上述类别的函数,一种是方法,但“不知道其类”。 在Python中,什么是“类方法”和“实例方法”?

8
真正的BIG源代码提交是什么术语?[关闭]
有时,当我们检查软件的提交历史时,我们可能会发现确实有一些提交是非常大的-它们可能会更改10或20个文件,其中包含数百个更改的源代码行(增量)。我记得有一个用于BIG提交的常用术语,但是我不记得确切的含义。谁能帮我?程序员通常用来指代这种BIG和巨型提交的术语是什么? 顺便说一句,一起做出很多更改是一种好的做法吗? 更新:谢谢你们的启发性讨论!但是我认为“代码炸弹”是我想要的术语。

6
为什么好的程序员被称为忍者?[关闭]
忍者程序员是如何定义的?如果只是经验丰富的开发人员,那么真的没有更好的方法来形容吗?忍者听起来像是一种幼稚的营销策略,旨在以自负的幻想吸引开发商。还是我错过了什么?我特别想知道使比较有效(除了凉爽因素之外)的程序员需要Ninja的哪些素质? 我确实找到了这篇文章,该文章在忍者特征和敏捷开发之间进行了很好的比较。但是,我想听听使用Ninja这个词进行招聘的人及其背后的动机。 更新:论点两边都提出了几点要点。我试图在我的博客文章中总结这些内容。我选择JB的答案作为可接受的答案,因为它总结了进行比较的所有有效原因。


2
“不组成”是什么意思?
我看到很多文本,特别是函数式编程文本,声称某些CS概念“不构成”。例如:锁不组成,单子不组成。 我一直很难找到这句话的确切含义。当我想到组合时,我想到的是函数组合或对象聚合(如“在继承中偏爱组合”),但这似乎并不是人们在这里使用它的意义。 有人可以解释在上述两个示例(即锁和单子)这样的表达式中使用该短语时的含义吗?

2
Node.js是框架吗?[关闭]
我一直看到招聘人员,开发人员等将Node.js称为框架。我认为,这对Node.js的真正含义是无知的。 通常,在职位描述中,Node.js被分组为AngularJS,React等库中的库。通常,我认为它是由不知道差异的人(HR,招聘人员等)输入的。 我认为Node.js是一个平台或运行时环境。它将DOM API(浏览器中的JavaScript)切换为其他各种API,例如文件系统(因为它作为服务器运行,而不是在浏览器中运行)。 人们为什么认为Node.js是框架?我错了吗?它实际上是一个框架吗?

6
表达力具体指的是什么?
维基百科将表现力定义为: ..可以用该语言表示和传达的思想的广度。 “想法”是否指我们可以与机器通信的事物(操作,结构,算法等?)?还是它是指可以被捕获并与其他人交流的“人类”概念? 如何评估和衡量表达能力? 例如,如果我们采用JavaScript之类的语言,并对变量名称施加了怪异的限制,例如变量必须是一个8位数字,并带有下划线,match/^_[0-9]{8}$/,我们会失去表达能力吗? 还是那只会是荒唐而又烦人的? 澄清: 表达能力是由语言固有的一般思想衡量的: 整数和字符串 循环 有条件的 或该语言可以代表的特定,独特想法的数量: 整数1,2 ... 2 ^ 32 包含“狐狸怎么说”的字符串 和“ wah pah pah pah pah pah pow” 每个青蛙在我的收藏青蛙 如果青蛙是绿色的,或者做什么,那就做什么


4
这种重构的术语是什么
我敢肯定,以下的重构术语都有用,但是我不记得了,我的Google-fu让我失望了! 重构将if语句移动到将对其产生最大影响的位置,例如更改此位置 $test = someFunctionThatReturnsABool(); for($x = 0; $x < 10000; $x++) { if ($test) { echo $x; } } 对此 $test = someFunctionThatReturnsABool(); if ($test) { for($x = 0; $x < 10000; $x++) { echo $x; } }


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.